ERLEDIGT
NEIN
NEIN
ANTWORTEN
1
1
ZUGRIFFE
2071
2071
EMPFEHLEN
-
Ich versuche in einem DataGridView eine View anzuzeigen und auch zu verändern.
Das Anzeigen ist ja kein Problem, das Ändern aber leider schon
Ich habe schon verschiedene Varianten versucht, doch ich habe immer den Fehler, dass er die Parameter nicht findet.
Die Spalten in der DataGridView heißen genau so wie die Spalten in der Datenbank (per typed DataSet übernommen).
Aufruf als StoredProcedure, wie ich in diversen Howtos gelesen habe:
Aufruf als normaler SQL-Text:Code csharp:1 2
dataAdapter.InsertCommand = new MySqlCommand("new_kunde", this.dbConnection); dataAdapter.InsertCommand.CommandType = CommandType.StoredProcedure;
Bei beiden Varianten tritt eine Exception auf (Parameter nicht definiert).Code csharp:1
dataAdapter.InsertCommand = new MySqlCommand("CALL new_kunde(?Vorname, ?Nachname [...]", this.dbConnection);
Ich habe auch den Befehl
gefunden. Was der aber tut ist mir noch nicht ganz klarCode csharp:1
dataAdapter.InsertCommand.Prepare();
Die Veränderungen in der DataGridView will ich ganz normal per
speichern.Code csharp:1
dataAdapter.Update(dataSet, tableName);
Nochmal kurz:
Wie bekomme ich die Daten aus dem DataGridView als Parameter in den SQL-Befehl?
Ist das soweit OK und muss ich nur noch die Parameter hinbiegen?
Oder muss man das ganz anders machen? (Ich habe es zuerst mit 2 Insert-Befehlen (die View geht über 2 Tabellen) als InsertCommand probiert, aber da hat er immer einen Fehler in der SQL-Syntax gemeldet
).
Update und Delete habe ich noch gar nicht versucht, zuerst sollte mal Insert funktionieren
Ich verwende:- MySQL 5.0.18-nt
- MySQL Connector/Net 1.0.7
- Visual Studio 2005
mfg cremorGeändert von cremor (27.05.06 um 17:21 Uhr)
-
Ich habe jetzt hier folgendes gefunden:
Code :1
UPDATE EMP SET EMPNO = ?, ENAME = ?, JOB = ?, MGR = ?, HIREDATE = ?, SAL = ?, COMM = ?, DEPT = ? WHERE EMPNO = ?
Dieses Prinzip (nur '?') funktioniert aber auch nicht. Mit
kommt der Fehler: "A MySqlParameter with ParameterName '?' is not contained by this MySqlParameterCollection."Code csharp:1
dataAdapter.InsertCommand.Prepare();
und ohne Prepare kommt: "Parameter '?' must be defined"
Übrigens funktioniert es auch nicht, wenn ich den generierten Code eines MySqlCommandBuilders selbst verwende. Der CommandBuilder macht anscheinend noch weitere Dinge.
Und eben diese weiteren Dinge (das Mappen einer Spalte auf einen Parameter) würde ich gerne selber machen, ich weiß nur nicht wie.
mfg cremorGeändert von cremor (27.05.06 um 17:22 Uhr)
Ähnliche Themen
-
MySQL Stored Procedures
Von real-insanity im Forum PHPAntworten: 0Letzter Beitrag: 28.04.09, 19:09 -
Stored Procedures in MySQL
Von NBOne im Forum Relationale DatenbanksystemeAntworten: 0Letzter Beitrag: 30.07.08, 23:08 -
[MySQL] Stored Procedures
Von xloouch im Forum Relationale DatenbanksystemeAntworten: 0Letzter Beitrag: 06.06.08, 14:16 -
mySQL > Stored Procedures
Von fa_herrmann im Forum Relationale DatenbanksystemeAntworten: 2Letzter Beitrag: 25.04.07, 19:21





Zitieren
Login





