Forums Neueste Beiträge
 

Aktuelle ID Auslesen

26/02/2009 - 14:43 von Lupus Goebel | Report spam
Hallöschen,


mit dem Code füge ich Daten in einer Datenbank an:
(Verbesserungsvorschlàge für den Code sind willkommen)

\\\
Dim strSQL As String
Dim objConn As OleDbConnection
Dim objBefehl As OleDbCommand
Dim ergebnis As Integer

strSQL = ("INSERT INTO tblVertrieb (bildname1, AnbieterName1, " & _
" hoch1, breit1, kleinbreit1, kleinhoch1) SELECT ?,?,?,?,?,?")

objConn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=|DataDirectory|immo.mdb")

objConn.Open()

objBefehl = New OleDbCommand(strSQL, objConn)

objBefehl.Parameters.Add("@bildname1",
OleDbType.Char).Value = File1.FileName
objBefehl.Parameters.Add("@AnbieterName1",
OleDbType.Char).Value = txtName.value
objBefehl.Parameters.Add("@hoch1",
OleDbType.Double).Value = strHochB
objBefehl.Parameters.Add("@breit1",
OleDbType.Double).Value = 300
objBefehl.Parameters.Add("@kleinbreit1",
OleDbType.Double).Value = 150
objBefehl.Parameters.Add("@kleinhoch1",
OleDbType.Double).Value = strHochT

ergebnis = objBefehl.ExecuteNonQuery()

objConn.Close()
objConn = Nothing
objBefehl = Nothing
///


Ich benötige für eine weitere Bearbeitung jedoch den Wert meiner ID
(Autowert-Feld). Wie komme ich an diese ran?




MfG - Lupus Goebel
Der Sumpf- und Morasthobbybastler und Anfaenger mit
Wissensdurst (http://www.lupusdw.de http://foto.lupusdw.de)
 

Lesen sie die antworten

#1 Gerold Mittelstädt
26/02/2009 - 15:40 | Warnen spam
Hallo,

Lupus Goebel schrieb:
mit dem Code füge ich Daten in einer Datenbank an:
(Verbesserungsvorschlàge für den Code sind willkommen)


Ich benötige für eine weitere Bearbeitung jedoch den Wert meiner ID
(Autowert-Feld). Wie komme ich an diese ran?



Du brauchst einfach nur @@IDENTITY unmittelbar nach dem INSERT ausführen.

\\\
Dim strSQL As String
Dim objConn As OleDbConnection
Dim objBefehl As OleDbCommand
Dim ergebnis As Integer

strSQL = ("INSERT INTO tblVertrieb (bildname1, AnbieterName1, " & _
" hoch1, breit1, kleinbreit1, kleinhoch1) SELECT ?,?,?,?,?,?")

objConn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=|DataDirectory|immo.mdb")

objConn.Open()

objBefehl = New OleDbCommand(strSQL, objConn)

[schnapp]

ergebnis = objBefehl.ExecuteNonQuery()



objBefehl.CommandText = "SELECT @@IDENTITY"
AutoWert = objBefehl.ExecuteScalar()

objConn.Close()
objConn = Nothing
objBefehl = Nothing



objConn und objBefehl brauchst Du nicht explizit auf Nothing setzen.
Nachdem beide Variablen nur lokal deklariert sind, werden sie beim
Verlassen der Prozedur unerreichbar und damit automatisch von der
Müllabführ.. àh dem Garbage-Collector früher oder spàter freigegeben.

Viele Grüße!

Ähnliche fragen