Herzlichen Dank Joachim

Ich werde mich jetzt mal ein wenig mit ADO befassen. 

Nochmals herzlichen dank. 




Gru� 
Ferenc J�nosi 
www.enek.de



-----Urspr�ngliche Nachricht-----
Von: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] Im Auftrag von Joachim van de
Bruck
Gesendet: Sonntag, 23. November 2003 20:43
An: [EMAIL PROTECTED]
Betreff: AW: [Database.asp] SELECT @@IDENTITY bei GUID Felder

Hallo!

> Verzeih mir die dumme Fragen. 
> Was ist ein Command-Objekt? Wie verwende ich das? Wenn ich 
> das verwenden
> m�chte, reicht es aus, wenn ich meine Funktion ab�ndere? 

Schau Dir bitte mal ADO in der MSDN oder im Internet n�her an. Neben der
Connection gibt es weitere sehr n�tzliche Objekte. Die Execute-Methode
des
Connection-Objekts ist eine Kurzform des Command-Objekts.

> ConMaster.CursorLocation = 3
> Wie kann ich dann den r�ckgabewert speichern?

> Auch mit SELECT @@IDENTITY?
Das ist T-SQL, funktioniert also nur im SQL-Server bzw. im
SQL-Server-Kompatibilit�tsmodus von Access 2000 oder Access XP. Dar�ber
hinaus wird @@IDENTITY Dir nie eine GUID, sondern immer nur einen
numerischen Wert zur�ckgeben. Damit geht's bei Dir also zweimal nicht.
;-)

Beim Command-Objekt kannst Du steuern was zur�ckkommt, ein RecordSet z.
B.
mit der GUID oder ein einzelner Wert (GUID). Vor allem kannst Du
Parameter
f�r Deinen SQL-Befehl verwenden und das bringt viele Vorteile vor allem
Konvertierung der Werte und Sicherheit gegen "SQL-Injection". Auch
R�ckgabewerte kannst Du �ber Parameter erhalten.

dim db : set db     = Server.CreateObject("ADODB.Connection")
db.CursorLocation   = 3
db.ConnectionString = "...."

dim cm : set cm = Server.CreateObject("ADODB.Command")
cm.CursorType   = 3

sqlInsert  = "INSERT INTO tblMail (nFrom, nCc, ...) VALUES ([pFrom],
[pCc],
...)
cm.Execute sqlInsert, array(..., ..., ...), adCmdText +
adExecuteNoRecords

Wenn Du allerdings das Recordset-Objekt verwendest, ist es ganz einfach:

dim db : set db     = Server.CreateObject("ADODB.Connection")
db.CursorLocation   = 3
db.ConnectionString = "...."

dim rs : set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "SELECT * FROM tblMail WHERE 1=0", db, 3, 3, adCmdText
rs.AddNew( _
           array("nFrom", "nCc", "nBcc", ...), _
           array(......., ....., ......, ...))
newGuid = rs.Fields("nId").Value

Im Archiv dieser Liste findest Du ebenfalls gen�gend Informationen zu
den
Objekten.

Freundliche Gr��e
Joachim van de BRuck




_______________________________________________
Database.asp mailing list
[EMAIL PROTECTED]
http://www.glengamoi.com/mailman/listinfo/database.asp



_______________________________________________
Database.asp mailing list
[EMAIL PROTECTED]
http://www.glengamoi.com/mailman/listinfo/database.asp

Antwort per Email an