Sql Datensatz updaten

S

stormystormy

Hallo Kann mir hier mal wer helfen
Möchte über Sql Befehl einen Daten satz in Access updaten
aber leider bekomme ich immer die Fehlermeldung:

Die Eingabezeichenfolge hat das falsche Format.
Beschreibung: Beim Ausführen der aktuellen Webanforderung ist ein unverarbeiteter Fehler aufgetreten. Überprüfen Sie die Stapelüberwachung, um weitere Informationen über diesen Fehler anzuzeigen und festzustellen, wo der Fehler im Code verursacht wurde.

Ausnahmedetails: System.FormatException: Die Eingabezeichenfolge hat das falsche Format.

Quellfehler:


Zeile 224: objCommand.Parameters.Add("", Me.Text.Text)
Zeile 225:
Zeile 226: objCommand.Parameters.Add("Banknr", System.Convert.ToInt64(Me.ComboBankNr.SelectedItem.Text))
Zeile 227: 'Befehl ausführen
Zeile 228: objCommand.ExecuteNonQuery()


Stapelüberwachung:


[FormatException: Die Eingabezeichenfolge hat das falsche Format.]
System.Number.ParseInt64(String s, NumberStyles style, NumberFormatInfo info) +0
System.Convert.ToInt64(String value) +49
Sendman1.Kundebearbeiten.bearbeiten_Click(Object sender, EventArgs e) in D:\Stormy\PC\Asp\sendman1\Kundebearbeiten.aspx.vb:226
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +108
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +57
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
System.Web.UI.Page.ProcessRequestMain() +1263






Quellcode:

Dim objConn As OleDb.OleDbConnection
objConn = VerbindungEin()

If objConn.State = ConnectionState.Open Then
Dim strSQL As String = _
"UPDATE Adressen SET Institut=?, Nachname=?, " & _
"Vorname=?, Strasse=?, Ort=?, =? WHERE " & _
"(Adressen.BankNr = ?);"

Dim objCommand As New OleDb.OleDbCommand(strSQL, objConn)
Dim lngBankNr As Long

'Parameter definieren
'objCommand.Parameters.Add("Anzeige", Me.ComboAnzeige.SelectedItem.Text)
objCommand.Parameters.Add("Institut", Me.TextInstitut.Text)
objCommand.Parameters.Add("Nachname", Me.TextNachname.Text)
objCommand.Parameters.Add("Vorname", Me.TextVorname.Text)
objCommand.Parameters.Add("Strasse", Me.TextStrasse.Text)
objCommand.Parameters.Add("Ort", Me.TextOrt.Text)
objCommand.Parameters.Add("", Me.Text.Text)

objCommand.Parameters.Add("Banknr", System.Convert.ToInt64(Me.ComboBankNr.SelectedItem.Text))
'Befehl ausführen
objCommand.ExecuteNonQuery()

End If
objConn.Close()


Hoffe da kennt sich wer aus
Danke Roland
 
schuss ins blaue:

objCommand.Parameters.Add("Banknr", System.Convert.ToInt64(Me.ComboBankNr.SelectedItem.Text))

Fehler sollte sein:
Fehlerhafter Eitnrag hier: Me.ComboBankNr.SelectedItem.Text
Sprich die Konvertiertung schlägt aus irgendeinem Grund fehl.
Prüf mal ob wirklich die Daten (ComboBankNr) ankommen die
du erwartest.
 
ComboBankNr.SelectedItem.Text?

auch ein schuss ins blaue, weil deine info's ein wenig dürftig sein, aber bist du dir sicher das du den text in die db schreiben willst? oder doch eher den value des ausgewählten items?

ansonsten bitte ein wenig vom restlichen source (v.a. das füllen der combobox) posten
 
Hallo,

also erstmal glaube ich kaum das OleDbParameter leere Parameter Namen erlauben. Das könnte auch schon ein Grund sein warum du deine Exception bekommst.

Desweiteren würde ich mit CType arbeiten (obwohl im Hintergrund ja die Convert Klasse verwendet wird). Wirkt übersichtlicher!

Was ich an der Stelle brauche ist die Tabellen Struktur, dann kann ich dir sagen wo der Fehler liegt. Aber überprüfe mal das hier:

Code:
Zeile 224: objCommand.Parameters.Add("", Me.Text.Text)
 
Lösung gefunden

Hallo erst mal ein Dank an alle für die Hilfe
Ich hatte 2 Fehler

1 Muss ich von Combobanknr die Value angeben
2 Stehen in der Access-Spalte nicht mehr nur Zahlen sondern jetzt auch Wörter
kann ich es schlecht in ein Long sondern besser in einen String


Aber danke noch mal
Roland
 
Zurück