2016-03-29 18 views
0

Ich verstehe nicht, warum es dieses Problem gibt. Ich suchte nach verschiedenen Lösungen und probierte viele von ihnen aus, aber ich habe immer wieder das gleiche Problem. Wenn jemand bitte erklären könnte, was passiert, weil ich kürzlich angefangen habe, über Datenbanken zu lernen.OleDbDataAdapter .Fill() -Methode gibt eine Ausnahme besagt Kein Wert für einen oder mehrere erforderliche Parameter

+0

!! SQL-Injektionsalarm !! Bitte lesen Sie dies: http://bobby-tables.com/ –

Antwort

1

Versuchen Sie dieses:

OleDbDataAdapter adapter = new OleDbDataAdapter(); 
OleDbCommand command = new OleDbCommand("SELECT * FROM Players WHERE LastName = ?", connect); 

command.Parameters.Add("LastName", OleDbType.VarChar).Value = tBoxSurname.Text; 

adapter.SelectCommand = command; 

Bitte senden Sie Ihren Code beim nächsten Mal als Schnipsel und nicht als Bild! :)

+0

Es wird immer nur eine leere Datentabelle – augustovandyk

+1

@augustovandyk zurückgegeben, entfernen Sie die Anführungszeichen um den Befehlsparameter für "tBoxSurname.Text". Sie möchten, dass der Wert der Eingabe für die Abfrage ausgeführt wird, nicht das Literal "tBoxSurname.Text". Sie haben niemanden mit diesem tatsächlichen Nachnamen :) – DRapp

+0

Ich verstehe nicht, welcher tBoxSurname.Text Anführungszeichen um ihn hat. Danke für alle Antworten. – augustovandyk