Bisher arbeite ich ausschlie�lich mit dem SQL Server!
Da hat man ja bei den SqlParametern eine Parameter Direction!
Im Fall eines Inserts lasse ich mir da �ber @@identity die ID des gerade erstellten
Eintrages zur�ck geben!
Das sieht dann so aus:
IDbConnection conn = Portal.Data.Connection.GetConnection();
IDbCommand DBComm = conn.CreateCommand();
IDataParameter Para;
// Der Eintrag existiert noch nicht in der DB - Insert!
DBComm.CommandText = "INSERT INTO myTable" +
" (Eintrag1, Eintrag2)" +
" VALUES " +
" (@Eintrag1, @Eintrag2)" +
" SET @ID = @@identity; ";
Para = GetParameter("@Eintrag1", myEintrag1);
DBComm.Parameters.Add(Para);
Para = GetParameter("@Eintrag2", myEintrag2);
DBComm.Parameters.Add(Para);
Para = GetParameter("@ID", DbType.Int32);
Para.Direction = ParameterDirection.Output;
DBComm.Parameters.Add(Para);
Usw.
Aber wie geht das bei OdbC oder OleDB und einer angeschlossenen MySQL Datenbank?
Grunds�tzlich sollte das ja so aussehen - aber mit dem ? Bei SET ? @@identity kommt er
net zurecht!
IDbConnection conn = Portal.Data.Connection.GetConnection();
IDbCommand DBComm = conn.CreateCommand();
IDataParameter Para;
// Der Eintrag existiert noch nicht in der DB - Insert!
DBComm.CommandText = "INSERT INTO myTable" +
" (Eintrag1, Eintrag2)" +
" VALUES " +
" (?, ?)" +
" SET ? = @@identity; ";
Para = GetParameter("@Eintrag1", myEintrag1);
DBComm.Parameters.Add(Para);
Para = GetParameter("@Eintrag2", myEintrag2);
DBComm.Parameters.Add(Para);
Para = GetParameter("@ID", DbType.Int32);
Para.Direction = ParameterDirection.Output;
DBComm.Parameters.Add(Para);
Oder mu� ich das ganz umst�ndlich wieder �ber ne extra Select Anweisung l�sen - bei
der ich den letzten Eintrag auslese??
Mit freundlichen Gr��en
Andreas
_______________________________________________
Asp.net Mailingliste, Postings senden an:
[EMAIL PROTECTED]
An-/Abmeldung und Suchfunktion unter:
http://www.glengamoi.com/mailman/listinfo/asp.net