Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment puis-je insérer des données dans SQL Server à l'aide de VBNet

Cela signifie que le nombre de valeurs spécifiées dans votre VALUES clause sur INSERT l'instruction n'est pas égal au nombre total de colonnes de la table. Vous devez spécifier le nom de la colonne si vous n'essayez d'insérer que sur les colonnes sélectionnées.

Un autre, puisque vous utilisez ADO.Net , toujours paramétré votre requête pour éviter l'SQL Injection . Ce que vous faites en ce moment, c'est que vous vainquez l'utilisation de sqlCommand .

ex

Dim query as String = String.Empty
query &= "INSERT INTO student (colName, colID, colPhone, "
query &= "                     colBranch, colCourse, coldblFee)  "
query &= "VALUES (@colName,@colID, @colPhone, @colBranch,@colCourse, @coldblFee)"

Using conn as New SqlConnection("connectionStringHere")
    Using comm As New SqlCommand()
        With comm
            .Connection = conn
            .CommandType = CommandType.Text
            .CommandText = query
            .Parameters.AddWithValue("@colName", strName)
            .Parameters.AddWithValue("@colID", strId)
            .Parameters.AddWithValue("@colPhone", strPhone)
            .Parameters.AddWithValue("@colBranch", strBranch)
            .Parameters.AddWithValue("@colCourse", strCourse)
            .Parameters.AddWithValue("@coldblFee", dblFee)
        End With
        Try
            conn.open()
            comm.ExecuteNonQuery()
        Catch(ex as SqlException)
            MessageBox.Show(ex.Message.ToString(), "Error Message")
        End Try
    End Using
End USing 

PS :Veuillez remplacer les noms de colonne spécifiés dans la requête par la colonne d'origine trouvée dans votre table.