Hallo zusammen,
ich habe meinen ersten Versuch mit SqlParametern gestartet und bin gleich mal auf einen Fehler gestossen, für den ich keine Lösung finde.
Als Fehler bekomme ich: Incorrect syntax near '('. Leider ist es mir bisher nicht gelungen die Stelle zu lokalisieren an der der Fehler ist.
Ist warscheinlich wieder was ganz einfaches und ich bin nur zu blind es zu sehen.
ich habe meinen ersten Versuch mit SqlParametern gestartet und bin gleich mal auf einen Fehler gestossen, für den ich keine Lösung finde.
Code:
Imports System.IO Imports System.Text Imports System.Data.SqlClient Imports System.Configuration Public Class Form1 Const DATEINAME As String = "C:\Users\UserID\Desktop\BESTELLUNGEN.csv" Const ANZAHLSPALTEN As Integer = 33 'Testen mit +-1 Spaltenanzahl Const TRENNZEICHEN As Char = ";" Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim Felder() As String Dim Zeile As String Dim dt = New DataTable() Dim sr = My.Computer.FileSystem.OpenTextFileReader(DATEINAME, Encoding.UTF8) For I As Integer = 1 To ANZAHLSPALTEN dt.Columns.Add("Spalte " & I) ' Spaltenüberrschriften erzeugen Next Do While (sr.Peek > -1) ' Dateiende abfragen Zeile = sr.ReadLine ' Eine Datenzeile lesen Felder = Zeile.Split(TRENNZEICHEN) ' Splitten in Felder Dim dr As DataRow = dt.NewRow ' Leere Datenzeile erstellen dr.ItemArray = Felder ' In DataRow speichern dt.Rows.Add(dr) ' Felder zur Datatable hinzufügen Loop DataGridView1.DataSource = dt ' DataTable in DataGridView zeigen For L As Integer = 3 To dt.Rows.Count - 3 ' Auswerten aller eingelesener Zeilen Abzüglich der 3 ersten Zeilen 'MsgBox("Lieferant: " & dt.Rows(L)(0) & " Materialnummer: " & dt.Rows(L)(8) & " Materialkurztext: " & dt.Rows(L)(9) & " Lagerort: " & dt.Rows(L)(15)) 'Dim SQL_String As String = "UPDATE Bestelldaten([Lieferant], [Lieferdatum], [Bestellnummer], [Materialnummer], [Materialkurztext], [Menge], [Lagerort]) VALUES (@Lieferant, @Lieferdatum, @Bestellnummer, @Materialnummer, @Materialkurztext, @Menge, @Lagerort)" Dim SQL_String As String = "UPDATE Bestelldaten(Lieferant) VALUES(@Lieferant)" Dim param(7) As SqlParameter param(0) = New SqlParameter("@Lieferant", SqlDbType.NVarChar) param(0).Value = dt.Rows(L)(0) param(1) = New SqlParameter("@Lieferdatum", SqlDbType.DateTime) param(1).Value = "05.02.2012" param(2) = New SqlParameter("@Bestellnummer", SqlDbType.Int) param(2).Value = dt.Rows(L)(1) param(3) = New SqlParameter("@Materialnummer", SqlDbType.NVarChar) param(3).Value = dt.Rows(L)(8) param(4) = New SqlParameter("@Materialkurztext", SqlDbType.NVarChar) param(4).Value = dt.Rows(L)(9) param(5) = New SqlParameter("@Menge", SqlDbType.Int) param(5).Value = dt.Rows(L)(16) param(6) = New SqlParameter("@Lagerort", SqlDbType.Int) param(6).Value = dt.Rows(L)(15) Dim Conn_String As New SqlClient.SqlConnection(My.Settings.ConnectionString) Dim SQL_Command As SqlCommand = Conn_String.CreateCommand() SQL_Command.CommandText = SQL_String Conn_String.Open() SQL_Command.Parameters.Add(param(0)) SQL_Command.Parameters.Add(param(1)) SQL_Command.Parameters.Add(param(2)) SQL_Command.Parameters.Add(param(3)) SQL_Command.Parameters.Add(param(4)) SQL_Command.Parameters.Add(param(5)) SQL_Command.Parameters.Add(param(6)) SQL_Command.ExecuteNonQuery() Conn_String.Close() SQL_Command.Dispose() Next End Sub End Class
Ist warscheinlich wieder was ganz einfaches und ich bin nur zu blind es zu sehen.
Comment