Comment puis-je Insérer des données dans SQL Server à l'aide de VBNet
Je suis nouveau sur vb.net
j'ai besoin d'insérer des données dans un tableau en utilisant vb.net s'il vous plaît peut-on aider
J'ai essayé cette
Ici, j'ai essayé Exemple de Code
J'ai eu cette exception Column name or number of supplied values does not match table definition.
merci d'avance
Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
Dim strName As String = txtName.Text
Dim strId As String = txtID.Text
Dim strPhone As String = txtPhone.Text
Dim strBranch As String = cmboxBranch.SelectedItem.ToString()
Dim strCourse As String = cmbboxCourse.SelectedItem.ToString()
Dim dblFee As Double = Double.Parse(txtFee.Text)
Dim strCommand As String = "insert into student values('" & strName & "','" & strId & "','" & strPhone & "','" & strBranch & "','" & strCourse & "'," & dblFee & ")"
Dim command As SqlCommand = New SqlCommand(strCommand, connection)
command.CommandType = CommandType.Text
'' MsgBox(strCommand)
connection.Open()
If (command.ExecuteNonQuery().Equals(1)) Then
MsgBox("Information stored in database")
Else
MsgBox("Not stored in database")
End If
End Sub
Vous devez nous montrer le définition de la table. Peut-être que vous avez oublié de faire le pk colonne
ma table
ce n'est pas une définition de la table. Le plus simple est d'aller à la table à l'aide de SQL Server Management Studio (SSMS). Cliquer avec le bouton droit, choisissez "Script de Table -> Create -> dans le presse-papiers". Ensuite modifier votre question et le coller dans le résultat. Il va nous montrer le types de données pour la table, tout contraintes, etc.
IDENTITY
avec autoincrement. Btw, vous êtes ouvert pour Injection SQL. Vous devez utiliser SqlParameters
.ma table
defn
est student(SName,SID,SPhone,SBranch,SCourse,SFee)
tous appartiennent à varchar
type, à l'exception fee
(fee is real type
)ce n'est pas une définition de la table. Le plus simple est d'aller à la table à l'aide de SQL Server Management Studio (SSMS). Cliquer avec le bouton droit, choisissez "Script de Table -> Create -> dans le presse-papiers". Ensuite modifier votre question et le coller dans le résultat. Il va nous montrer le types de données pour la table, tout contraintes, etc.
OriginalL'auteur rangasathish | 2012-09-28
Vous devez vous connecter pour publier un commentaire.
Cela signifie que le nombre de valeurs spécifiées dans votre
VALUES
clause sur laINSERT
déclaration n'est pas égal au nombre total de colonnes dans la table. Vous devez spécifier le columnname si vous essayez d'insérer des colonnes sélectionnées.Un autre, puisque vous utilisez
ADO.Net
, toujours paramétré votre requête afin d'éviterSQL Injection
. Ce que vous êtes en train de faire maintenant est de vous vaincre l'utilisation desqlCommand
.ex
PS: Merci de changer le nom de colonne spécifié dans la requête à l'origine de la colonne à trouver dans votre tableau.
conn.Close
est redondante puisque vous êtes à l'aide deusing-statement
de toute façon.merci pour le rappel 🙂 mais j'ai l'habitude de le faire. De toute façon, je viens de mettre à jour ma réponse.
Je vote +2 si je le pouvais, pour la promotion des requêtes paramétrées
De toute façon, +1 à cause de l'utilisation de paramètres,à l'aide de l'instruction,de gestion des erreurs et une cause possible de l'erreur.
Vous pouvez également mentionner que
'Error here'
doit être remplacé par approprié gestion des erreurs(f.e. l'exploitation forestière). Ne jamais avaler des exceptions.OriginalL'auteur John Woo
OriginalL'auteur parthiban
OriginalL'auteur Snookger Isolation