Hallo zusammen,
ich habe eine kurze Frage, evtl. kann mir jmd. weiterhelfen. Ich habe ein Feld, wenn in dieses Feld ein Wert eingetragen wird, dann soll in der Datenbank nach dem Account gesucht werden und das Objekt zurück gegeben werden. Ich dachte mir nun, dass ich das einfach über LINQ lösen kann, aber dies scheint nicht zu funktionieren. C# gibt mir das Folgende zurück. Gehe ich hier völlig falsch ran? Kann mir jmd. Hinweise geben? Bin über jeden Hilfshinweis froh, links, tipps, alles super. Nonplus ultra wäre noch wenn ich mir n Formular öffnen kann, in welchem
ich meine Objekte anzeige, sofern mehr eine Menge > 1 herauskommt, aber das
bekomme ich dann noch raus.
Cannot implicitly convert type 'BasicData.Accounts.ACCT' to 'DataEntry.Receipts.ACCT'
if (aCCT_IDTextBox.Text != "")
{
var selectedAccount = from accounts in ad.ACCTs
where accounts.Main_Account.Contains(aCCT_IDTextBox.Text)
select accounts;
if (selectedAccount.Count() == 0)
{
MessageBox.Show("Could not find account! Is it a sub account?");
}
else if (selectedAccount.Count() == 1)
{
ACCT lookedupAccount = selectedAccount.First();
}
else
{
MessageBox.Show("Found too many accounts. Please specify your search criteria!");
}
}
Viele Grüße
Mathias
Hallo,
schau dir mal die Erweiterungsmethode ToLookup
an.
mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.
"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
Ich nehme an, dass das Problem in dieser Zeile auftritt?
ACCT lookedupAccount = selectedAccount.First();
Dann ist doch klar, was die Fehlermeldung Cannot implicitly convert type 'BasicData.Accounts.ACCT' to 'DataEntry.Receipts.ACCT'
bedeutet.
Nämlich dass der Account, der in selectedAccount steht ein BasicData.Accounts.ACCT
ist, du ihn aber in einen DataEntry.Receipts.ACCT
umwandeln willst. das geht offensichtlich nicht.
Gruß, Christian.
P.S.: [Hinweis] Syntaxfehler selbst lösen (Compilerfehlermeldungen)
Hi zusammen,
vielen Dank. Werde ich mir mal anschauen.
Gruß
das klappt super,
vielen Dank schon einmal für die Hilfe. Klappt super, muss man erst einmal wissen..
Wie auch immer. Ich habe bereits im linq-teil die where-bedingung eingebaut, damit das sql-schneller ist. Nun habe ich, wie du siehst, eine or anweisung, da ich nach dem einen oder anderen suchen möchte. Wie kann ich das mit dem lookup lösen?
Oder muss ich dann doch etwas anderes anwenden?
var selectedAccount = from accounts in ad.ACCTs
where accounts.Main_Account.Contains(aCCT_IDTextBox.Text) || accounts.ACCT_ID.Equals(Convert.ToInt32(aCCT_IDTextBox.Text))
select accounts;
var lookup = selectedAccount.ToLookup(item => item.Main_Account);
Gruß
Mathias
Hallo,
das || im where hat mit dem ToLookup nix direkt zu tun. Was du in der Lookup-Tabelle haben willst musst du schon selbst wissen.
Sonst schau dir beim ToLookup die Überladungen an. Da gibts ein paar davon 😉
mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.
"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"
Baem! Crosspost.
be the hammer, not the nail!
Wegen [Hinweis] Wie poste ich richtig? Punkt 2.2 ==> geschlossen