Insert in SQL-DB mit Parameter

19/05/2008 - 16:24 von K.-G. Appel | Report spam
Hallo,

lange versuche ich ein doch relativ einfaches insert in eine Datenbank mit
verschieden Paramtern hinzubekommen. Leider gelingt es mir nicht. Es werden
zwar Datensàtze ausgegeben, doch ohne richtigen Inhalt.
Das Insert
sqlAnweisung = "INSERT INTO spiele (spieler, gegner, spielnr, liga, mnr,
gnr, onr, snr) "
sqlAnweisung = sqlAnweisung + " VALUES('" & tspieler & "', '" & tgegner &
"', '" & tspielnr & "', '" & tliga & "', '" & tmnr & "', '" & tgnr & "', '" &
tonr & "', '" & zaehler & "')"

In einer for Schleife sollen 9 Datensàtze nach einem bestimmten Schema
generiert werden. Nur die Felder tspieler und tgegner sind in jedem Satz
verschieden. Die Werte sollen aus 6 verschiedenen Dropdown-Feldern übernommen
werden. snr erhàlt den Wert 1 bis 9. Alle anderen Werte sind konstant und
werden zum Teil der Seite als Request.QueryString übergeben.

Der Datenbank-Einstieg sieht so aus:
' Definieren von Variablen
Dim meldung, tliga As String
Dim zaehler, tspieler, tgegner, tspielnr, tMnr, tgnr, tonr As Integer
Dim ergebnis As Integer

' Verbindung zur Datenbank
Dim verbindungsStr As String =
ConfigurationManager.ConnectionStrings("...").ConnectionString
Dim verbindung As New SqlClient.SqlConnection(verbindungsStr)
verbindung.Open

' SQL-Anweisung definieren
Dim sqlAnweisung As String
sqlAnweisung = "INSERT INTO ...
Dim sqlBefehl As New SqlCommand(sqlAnweisung, verbindung)

' Erstellen einer Instanz des DataSet Objekts
Dim meinDataSet As New DataSet

' SQL-Adapter hinzufügen
Dim meinAdapter As new SqlDataAdapter(sqlBefehl)

' SQL-Parameter definieren
hier ? oder innerhalb der For Schleife ?

for zaehler = 1 to 9
.
ergebnis = sqlBefehl.ExecuteNonQuery()
next

Mich interessiert, an welcher Stelle
sqlBefehl.Parameters.Add(New SqlParameter("@spieler", tspieler))
sqlBefehl.Parameters.Add(New SqlParameter("@snr", zaehler))
codiert sein muss. Muss eventuell noch kovertiert werden. Wie erfolgt die
Wertzuweisung aus den DropDownBoxen.

Ich habe schon verschiedenste Beispiele versucht, mit keinem bin ich
erfolgreich gewesen.

vielen Dank für eure Hilfe
kga
 

Lesen sie die antworten

#1 K.-G. Appel
20/05/2008 - 09:36 | Warnen spam
Offensichtlich bin ich mit der Frage im falschen Forum gelandet.
Kann ich eigentlich diesen Beitrag hier löschen bzw. in ein anderes Forum
verschieben.
vielen Dank für eure Hilfe
kga


"K.-G. Appel" wrote:

Hallo,

lange versuche ich ein doch relativ einfaches insert in eine Datenbank mit
verschieden Paramtern hinzubekommen. Leider gelingt es mir nicht. Es werden
zwar Datensàtze ausgegeben, doch ohne richtigen Inhalt.
Das Insert
sqlAnweisung = "INSERT INTO spiele (spieler, gegner, spielnr, liga, mnr,
gnr, onr, snr) "
sqlAnweisung = sqlAnweisung + " VALUES('" & tspieler & "', '" & tgegner &
"', '" & tspielnr & "', '" & tliga & "', '" & tmnr & "', '" & tgnr & "', '" &
tonr & "', '" & zaehler & "')"

In einer for Schleife sollen 9 Datensàtze nach einem bestimmten Schema
generiert werden. Nur die Felder tspieler und tgegner sind in jedem Satz
verschieden. Die Werte sollen aus 6 verschiedenen Dropdown-Feldern übernommen
werden. snr erhàlt den Wert 1 bis 9. Alle anderen Werte sind konstant und
werden zum Teil der Seite als Request.QueryString übergeben.

Der Datenbank-Einstieg sieht so aus:
' Definieren von Variablen
Dim meldung, tliga As String
Dim zaehler, tspieler, tgegner, tspielnr, tMnr, tgnr, tonr As Integer
Dim ergebnis As Integer

' Verbindung zur Datenbank
Dim verbindungsStr As String =
ConfigurationManager.ConnectionStrings("...").ConnectionString
Dim verbindung As New SqlClient.SqlConnection(verbindungsStr)
verbindung.Open

' SQL-Anweisung definieren
Dim sqlAnweisung As String
sqlAnweisung = "INSERT INTO ...
Dim sqlBefehl As New SqlCommand(sqlAnweisung, verbindung)

' Erstellen einer Instanz des DataSet Objekts
Dim meinDataSet As New DataSet

' SQL-Adapter hinzufügen
Dim meinAdapter As new SqlDataAdapter(sqlBefehl)

' SQL-Parameter definieren
hier ? oder innerhalb der For Schleife ?

for zaehler = 1 to 9
.
ergebnis = sqlBefehl.ExecuteNonQuery()
next

Mich interessiert, an welcher Stelle
sqlBefehl.Parameters.Add(New SqlParameter("@spieler", tspieler))
sqlBefehl.Parameters.Add(New SqlParameter("@snr", zaehler))
codiert sein muss. Muss eventuell noch kovertiert werden. Wie erfolgt die
Wertzuweisung aus den DropDownBoxen.

Ich habe schon verschiedenste Beispiele versucht, mit keinem bin ich
erfolgreich gewesen.

vielen Dank für eure Hilfe
kga

Ähnliche fragen