Daten aus DataTable in SQL-Datenbank auf Server schreiben

  • VB.NET

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von ketzei.

    Daten aus DataTable in SQL-Datenbank auf Server schreiben

    Hallo Leute,

    hab in meiner WindowsForm einen DataTable gefüllt mit Daten und möchte diesen nun auf eine SQL-Datenbank auf einem Server übertragen.
    Die Datenbank heißt "OEE" und der Table in dem die Daten landen sollen heißt "L1"! Die Spaltennamen von DataTable und dem Table "L1" sind identisch.
    Wie mache ich das am Besten?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ketzei“ ()

    Habs jetzt mal so ausprobiert, aber kriege bei "dp.InsertCommand.ExecuteNonQuery()" einen Fehler!!

    VB.NET-Quellcode

    1. Dim setting As New My.MySettings
    2. Dim ConString As String = "Data Source=" & setting.DBVerzeichnis & ";Initial Catalog=OEE;User ID=" & setting.User & ";Password=" & setting.Password
    3. Dim sqlc As String = "INSERT INTO " & SQLTable & " (Date_TimeFirstLP, Date_TimeLastLP, Program, ProductionPeriode, SumRuntime, SetupTime, IdealRuntime, IdealRuntimeTimestamp, ErrorTime, LPCountAll, LPQuantity) VALUES (@f1, @f2, @f3, @f4, @f5, @f6, @f7, @f8, @f9, @f10, @f11)"
    4. Dim dp As New SqlDataAdapter
    5. Dim p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11 As SqlParameter
    6. Using conn As New SqlConnection(ConString)
    7. conn.Open()
    8. dp.InsertCommand = New SqlCommand(sqlc, conn)
    9. p1 = dp.InsertCommand.Parameters.Add("@f1", SqlDbType.DateTime)
    10. p2 = dp.InsertCommand.Parameters.Add("@f2", SqlDbType.DateTime)
    11. p3 = dp.InsertCommand.Parameters.Add("@f3", SqlDbType.NChar)
    12. p4 = dp.InsertCommand.Parameters.Add("@f4", SqlDbType.Float)
    13. p5 = dp.InsertCommand.Parameters.Add("@f5", SqlDbType.Float)
    14. p6 = dp.InsertCommand.Parameters.Add("@f6", SqlDbType.Float)
    15. p7 = dp.InsertCommand.Parameters.Add("@f7", SqlDbType.Float)
    16. p8 = dp.InsertCommand.Parameters.Add("@f8", SqlDbType.Float)
    17. p9 = dp.InsertCommand.Parameters.Add("@f9", SqlDbType.Float)
    18. p10 = dp.InsertCommand.Parameters.Add("@f10", SqlDbType.Float)
    19. p11 = dp.InsertCommand.Parameters.Add("@f11", SqlDbType.Float)
    20. With DataGridView2
    21. For i As Integer = 0 To .Rows.Count - 1
    22. With .Rows(i)
    23. p1.Value = .Cells(0).Value
    24. p2.Value = .Cells(1).Value
    25. p3.Value = .Cells(2).Value
    26. p4.Value = .Cells(3).Value
    27. p5.Value = .Cells(4).Value
    28. p6.Value = .Cells(5).Value
    29. p7.Value = .Cells(6).Value
    30. p8.Value = .Cells(7).Value
    31. p9.Value = .Cells(8).Value
    32. p10.Value = .Cells(9).Value
    33. p11.Value = .Cells(10).Value
    34. dp.InsertCommand.ExecuteNonQuery()
    35. End With
    36. Next
    37. End With
    38. conn.Close()
    39. End Using


    Was mache ich falsch? Geht das vielleicht auch einfacher?