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
*************************