Hmm, eine nicht ganz unberechtigte Frage warum ich das so kompliziert mache. Hat sich jetzt irgendwie so ergeben. Ist wahrscheinlich wieder mal so ein Fall von "besser mal wieder ein kleine Pause Einlegen, damit man keinen Bl�dsinn mehr macht". ;-)
Sollte die Geschichte wohl wirklich mal nach deiner 2. Variante umschreiben. Nichts desto trotz interessiert mich, warum der Ansatz mit dem dynamischen hinzuf�gen von Parametern nicht funktioniert hat... Gru� Markus -----Urspr�ngliche Nachricht----- Von: Pessner, Andreas [mailto:[EMAIL PROTECTED] Gesendet: Donnerstag, 27. Mai 2004 16:35 An: [EMAIL PROTECTED] Betreff: AW: [Asp.net] Update-Command mit variablem Parameter Warum auch immer Du das �berhaupt so umst�ndlich machst! Aber je nach Ansatz gibt es daf�r eigentlich sinnvollere Vorgehensweisen! 1. Ohne Middleware: - W�re ne Update Anweisung f�r Fall mit Passwort - und eine f�r Fall ohne Passwort (also quasi das was Du jetzt nimmst - aber ich w�rde das in getrennte Funktionen packen!) 2. Mit Middleware: - Dabei hat es sich f�r mich gelohnt - alles �ber ein und die selbe Update Anweisung laufen zu lassen - weil wenn man da vielleicht 15Parameter dran hat - net wirklich f�r alle F�lle jedes Mal ne neue SQL Anweisung schreiben will! - Somit habe ich eine Update Anweisung - die immer alle Parameter erh�lt! - Da das ganze Ja Objekt orientiert verl�uft - speichert die mir auch immer das komplette Objekt! -----Urspr�ngliche Nachricht----- Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im Auftrag von Schlautmann, Markus Gesendet: Donnerstag, 27. Mai 2004 16:06 An: [EMAIL PROTECTED] Betreff: AW: [Asp.net] Update-Command mit variablem Parameter Habe jetzt eine L�sung: Ich bereite zur Entwurfszeit alles so vor, als wenn ich das Passwort �ndern will. Wenn dann ein neues Passwort eingeben wird funktioniert alles wunderbar. Ansonsten �ndere ich den Comand-Text und entferne den Parameter: if (tbPasswort.Text != null && tbPasswort.Text.Length > 0) { UpdCmdUser.Parameters["Passwort"].Value = tbPasswort.Text; } else { UpdCmdUser.CommandText = "UPDATE tblUser SET EMail = ?, VereinIdx = ? WHERE (Idx = ?)"; UpdCmdUser.Parameters.Remove(UpdCmdUser.Parameters["Passwort"]); } Nur zur Info... Markus -----Urspr�ngliche Nachricht----- Von: Schlautmann, Markus Gesendet: Donnerstag, 27. Mai 2004 15:42 An: [EMAIL PROTECTED] Betreff: AW: [Asp.net] Update-Command mit variablem Parameter Hi, habe es jetzt mal in zwei Zeilen versucht, ohne Erfolg. Die anderen Parameter werden �brigens bereits beim "InitializeComponent()" erzeugt. Wollte die aber wegen der Lesbarkeit nicht auch noch mit Posten. An der Reihenfolge kann es eigentlich auch nicht liegen. Wenn ich kein Passwort eingebe funktioniert alles wunderbar. Dann bleibt der urspr�ngliche Command-Text und die Parameter wie zur Entwurfszeit erhalten und alles klappt. Der neue Parameter sollte ja durch das "Add" hinten angehangen werden. Und den f�lle ich auch zuletzt. Ganz davon ab m�sste ich sonst den Parameter "Original_Idx" auch nach dem Parameter "Email" f�llen. Wer hat noch eine Idee? Markus PS: Zur Vollst�ndigkeit hier der fehlende Code aus "InitializeComponent()": this.UpdCmdUser.CommandText = "UPDATE tblUser SET EMail = ?, VereinIdx = ? WHERE (Idx = ?)"; this.UpdCmdUser.Connection = this.conTippIt; this.UpdCmdUser.Parameters.Add(new System.Data.OleDb.OleDbParameter("EMail", System.Data.OleDb.OleDbType.VarWChar, 50, "EMail")); this.UpdCmdUser.Parameters.Add(new System.Data.OleDb.OleDbParameter("VereinIdx", System.Data.OleDb.OleDbType.Integer, 0, "VereinIdx")); this.UpdCmdUser.Parameters.Add(new System.Data.OleDb.OleDbParameter("Original_Idx", System.Data.OleDb.OleDbType.Integer, 0, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "Idx", System.Data.DataRowVersion.Original, null)); -----Urspr�ngliche Nachricht----- Von: Pessner, Andreas [mailto:[EMAIL PROTECTED] Gesendet: Donnerstag, 27. Mai 2004 15:28 An: [EMAIL PROTECTED] Betreff: AW: [Asp.net] Update-Command mit variablem Parameter Versuche mal das ganze net alles in einer Zeile machen zu wollen! UpdCmdUser.CommandText = "UPDATE tblUser SET EMail = ?, VereinIdx = ?, Passwort = ? WHERE (Idx = ?)"; OleDb.OleDbParameter myPara = new OleDb.OleDbParameter("Passwort", tbPasswort.Text); UpdCmdUser.Parameters.Add(myPara); Interessant ist - das dies aber gar net der richtige Quellcode sein kann - denn Du �bergibst quasi nur das neue Passwort!!! Richtig w�re! UpdCmdUser.CommandText = "UPDATE tblUser SET EMail = ?, VereinIdx = ?, Passwort = ? WHERE (Idx = ?)"; OleDb.OleDbParameter myPara = new OleDb.OleDbParameter("EMail", dieEmailAdresse); UpdCmdUser.Parameters.Add(myPara); myPara = new OleDb.OleDbParameter("VereinIdx ", dieVereiIdx); UpdCmdUser.Parameters.Add(myPara); myPara = new OleDb.OleDbParameter("Passwort ", tbPasswort.Text); UpdCmdUser.Parameters.Add(myPara); myPara = new OleDb.OleDbParameter("Idx", dieIDx); UpdCmdUser.Parameters.Add(myPara); Bitte beachte - das bei nem OleDbCommand bzw. nem OdBC Command - nur nach der Reihenfolge der Parameter gegangen wird! Also wenn Du einen Parameter 2 mal in Deiner Select Anweisung drin hast - dann musst du den zwangsl�ufig auch 2 mal angeben - und zwar auch in der richtigen Reihenfolge wie er auch in der Select Anweisung vorkommt!!! -----Urspr�ngliche Nachricht----- Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im Auftrag von Schlautmann, Markus Gesendet: Donnerstag, 27. Mai 2004 14:55 An: [EMAIL PROTECTED] Betreff: [Asp.net] Update-Command mit variablem Parameter Hallo, ich m�chte gerne meinen Update-Command bei Bedarf einen Parameter hinzuf�gen. Irgendwie scheine ich da aber was falsch verstanden zu haben. Mein Versuch (etwas verk�rzt, damit es besser lesbar ist): UpdCmdUser.Parameters["Original_Idx"].Value = Session["UserIdx"]; UpdCmdUser.Parameters["EMail"].Value = tbEMail.Text.Trim(); UpdCmdUser.Parameters["VereinIdx"].Value = ddVereine.SelectedValue; if (tbPasswort != null && tbPasswort.Text.Length > 0) { UpdCmdUser.CommandText = "UPDATE tblUser SET EMail = ?, VereinIdx = ?, Passwort = ? WHERE (Idx = ?)"; UpdCmdUser.Parameters.Add(new System.Data.OleDb.OleDbParameter("Passwort", OleDbType.VarWChar, 50, "Passwort")); UpdCmdUser.Parameters["Passwort"].Value = tbPasswort.Text; } conTippIt.Open(); UpdCmdUser.ExecuteNonQuery(); conTippIt.Close(); tbPasswort ist eine Textbox, in dem ggf. ein neues Passwort eingetragen wird. Nur wenn dieses Feld gef�llt ist, soll der Update-Command um diesen Parameter erg�nzt werden. Das ExecuteNonQuery l�uft ohne Fehler durch, die �nderungen werden aber nicht durchgef�hrt. Wo ist der Fehler? Markus ************************* _______________________________________________ This ASP.NET email is sponsored by: UDEX ProMenu.Net - Die Software f�r Navigation - Jetzt kostenlos testen! Tree- Style, Horizontal- Slide, Vertical- Slide. http://www.udexnet.com _______________________________________________ Asp.net Mailingliste, Postings senden an: [EMAIL PROTECTED] An-/Abmeldung und Suchfunktion unter: http://www.glengamoi.com/mailman/listinfo/asp.net ************************* ************************* _______________________________________________ This ASP.NET email is sponsored by: UDEX ProMenu.Net - Die Software f�r Navigation - Jetzt kostenlos testen! Tree- Style, Horizontal- Slide, Vertical- Slide. http://www.udexnet.com _______________________________________________ Asp.net Mailingliste, Postings senden an: [EMAIL PROTECTED] An-/Abmeldung und Suchfunktion unter: http://www.glengamoi.com/mailman/listinfo/asp.net ************************* ************************* _______________________________________________ This ASP.NET email is sponsored by: UDEX ProMenu.Net - Die Software f�r Navigation - Jetzt kostenlos testen! Tree- Style, Horizontal- Slide, Vertical- Slide. http://www.udexnet.com _______________________________________________ Asp.net Mailingliste, Postings senden an: [EMAIL PROTECTED] An-/Abmeldung und Suchfunktion unter: http://www.glengamoi.com/mailman/listinfo/asp.net ************************* ************************* _______________________________________________ This ASP.NET email is sponsored by: UDEX ProMenu.Net - Die Software f�r Navigation - Jetzt kostenlos testen! Tree- Style, Horizontal- Slide, Vertical- Slide. http://www.udexnet.com _______________________________________________ Asp.net Mailingliste, Postings senden an: [EMAIL PROTECTED] An-/Abmeldung und Suchfunktion unter: http://www.glengamoi.com/mailman/listinfo/asp.net ************************* ************************* _______________________________________________ This ASP.NET email is sponsored by: UDEX ProMenu.Net - Die Software f�r Navigation - Jetzt kostenlos testen! Tree- Style, Horizontal- Slide, Vertical- Slide. http://www.udexnet.com _______________________________________________ Asp.net Mailingliste, Postings senden an: [EMAIL PROTECTED] An-/Abmeldung und Suchfunktion unter: http://www.glengamoi.com/mailman/listinfo/asp.net ************************* ************************* _______________________________________________ This ASP.NET email is sponsored by: UDEX ProMenu.Net - Die Software f�r Navigation - Jetzt kostenlos testen! Tree- Style, Horizontal- Slide, Vertical- Slide. http://www.udexnet.com _______________________________________________ Asp.net Mailingliste, Postings senden an: [EMAIL PROTECTED] An-/Abmeldung und Suchfunktion unter: http://www.glengamoi.com/mailman/listinfo/asp.net *************************
