none
Datagridview vers base de données mdf RRS feed

  • Question

  • Bonjour à vous,

    J'importe des données d'un fichier csv vers mon DataGridView par programmation.

    J'obtiens dans mon cas 10 colonnes avec des données que j'aimerai envoyer vers ma base de données.

    Voici mon exemple :

     Dim connectionString As String = "Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|BDD.mdf;Integrated Security=True"
                Dim sql As String = "SELECT * FROM Table"
                Dim connection As New SqlConnection(connectionString)
                connection.Open()
                sCommand = New SqlCommand(sql, connection)
                sAdapter = New SqlDataAdapter(sCommand)
                sBuilder = New SqlCommandBuilder(sAdapter)
                sDs = New DataSet()
                sAdapter.Fill(sDs, "Table")
                sTable = sDs.Tables("Table")
                DataGridView_CSV1.DataSource = sDs.Tables("Table")
                DataGridView_CSV1.ReadOnly = True
    
                DataGridView_CSV1.SelectionMode = DataGridViewSelectionMode.FullRowSelect
    
    
                sAdapter.Update(BDDDataSet.Table)
                DataGridView_CSV1.[ReadOnly] = True
    
                connection.Close()

    Rien ne s'enregistre dans ma base de données, y a t'il un exemple en ligne ?

    Merci de votre aide.



    mardi 2 mai 2017 16:55

Réponses

Toutes les réponses

  • Bonjour,
    Voici une piste: Insert (Save) Multiple rows from DataGridView to Database in Windows Forms (WinForms) Application using C# and VB.Net.

    Cordialement,
    Nina

    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.

    mercredi 3 mai 2017 14:42
    Modérateur
  • Merci Nina,

    Excellent, ça marche à merveille.....je copie 15000 lignes rapidement....

    exemple du code pour ceux que ça intéressent:

                For Each row As DataGridViewRow In DataGridView1.Rows
                    Dim connection As String = "Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|BDD.mdf;Integrated Security=True"
                    Using connex As New SqlConnection(connection)
                        Using cmd As New SqlCommand("INSERT INTO Table VALUES(@nom1, @nom2)", connex)
                            cmd.Parameters.AddWithValue("@nom1", row.Cells("nom1").Value)
                            cmd.Parameters.AddWithValue("@nom2", row.Cells("nom2").Value)
    
                            connex.Open()
                            cmd.ExecuteNonQuery()
                            connex.Close()
                        End Using
                    End Using
                Next
    Merci...


    mercredi 3 mai 2017 16:24