Announcement

Collapse
No announcement yet.

DataGridView in Datenbank schreiben

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • DataGridView in Datenbank schreiben

    Hallo,

    ich habe eine CSV Datei in ein DataGridView geschrieben. Funktionierte alles wunderbar.

    Code:
        Private Function ImportCSV2Grid(ByVal Filename As String, ByVal Filepath As String, ByVal DestinationGrid As DataGridView, ByVal dt As String) As DataSet
            Dim Dataset As New DataSet
    
            CreateSchemaFile(Filepath)
    
            Try
                Dim selectConnection As New OdbcConnection(("Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=" & Filepath & ";Extensions=asc,csv,tab,txt;Persist Security Info=False").Trim)
                selectConnection.Open()
                Dim selectCommandText As String = "select * from [" & Filename & "]"
                Me.obj_oledb_da = New OdbcDataAdapter(selectCommandText, selectConnection)
                Me.obj_oledb_da.Fill(Dataset, dt)
                DestinationGrid.DataSource = Dataset
                DestinationGrid.DataMember = dt
    
                selectConnection.Close()
    
            Catch exception As Exception
                MessageBox.Show(exception.Message)
            End Try
            Return Dataset
    
            DeleteSchemaFile(Filepath)
    
        End Function
    Jetzt liefert mir diese Funktion ja ein Dataset. Und wenn ich alles richtig verstanden habe, dann ist dieses DateSet eigentlich ein virtuelles DataGridView. Damit meine ich, dass alles was in meinem DateGridView angezeigt wird ja in Wirklichkeit in diesem Dataset steht. Wenn nicht bin ich absolut auf dem Holzweg.

    Jedenfalls möchte ich jetzt dieses Dataset in meine SQL Server 2000 DB schreiben.

    Code:
        Private Sub Write2DB()
            Dim conn As New SqlClient.SqlConnection
            conn.ConnectionString = "integrated security=SSPI;data source=<My SQL Server>;persist security info=False;initial catalog=northwind"
            Try
                conn.Open()
    
              < H I E R  W O L L T E  I C H  I M P O R T I E R E N >
    
    
            Catch ex As Exception
                MessageBox.Show("Failed to connect to data source")
            Finally
                conn.Close()
            End Try
    
        End Sub
    Mein Problem ist leider, dass ich keine Ahnung habe wie ich das anstellen soll. Vielleicht liegt es an der Uhrzeit aber ich finde im Moment nichtmal einen Ansatz.

    Ich bitte um nützliche Ratschläge.

    lg und gn8
    MIK

  • #2
    Diesen Beitrag evtl. in das Unterforum MSSQL verschieben.
    Sry und Danke!

    Comment


    • #3
      Hallo,

      ich habe jetzt etwas gefunden und weiß nicht ob es auch "schöner" geht.

      Ich werde jetzt einfach mein Dataset bzw. den darin enthaltenen Table durchlaufen und alle Werte über ein Insert in die Datenbank schreiben.

      Code:
      for each dr in ds.tables(0).rows
        wert1 = dr(0).tostring
        ....
        sqlinsert = "insert into <tablle>(<felder>) Values (<werte>)"
        dim commandinsert as new sqlcommand(sqlinsert, connection)
       try 
        commandinsert.connection.open()
        resultinsert = commandinsert.executenonquery
        commandinsert.connection.close()
      catch ex as exeption 
        msgbox(ex.message)
      end try
      Next
      Ist diese Lösung ok? Es funktioniert zwar aber das heißt ja noch lange nicht, dass es auch eine saubere Lösung ist.

      Wäre für Antworten dankbar.

      Comment


      • #4
        Hallo,

        die Suche nach der Zeichenfolge SqlBulkCopy führt hier im FORUM zu einem Beispiel. Die ab .NET 2.0 verfügbare Klasse schreibt den Inhalt einer DataSet-Instanz in die Datenbank.

        Comment

        Working...
        X