Impossible de parler à votre connexion Chaîne. Ça a l'air plutôt difficile. Au-delà de cela, je vois quelques problèmes:
A. Ceci est le plus évident pour moi: Votre instruction INSERT est incorrecte. Essayez ceci
INSERT INTO your_table_name (column_name_1, column_name_2, . . .) VALUES (value_1, value_2, . . .)
B. Étendre ce qui précède, conformément aux commentaires des autres, et bien paramétrons votre requête. En outre, utilisez le fichier de paramètres d'application pour votre chaîne de connexion, au lieu de le coder en dur dans votre application. Enfin, utilisez un bloc Using, pour les objets de connexion et de commande - ceci gérera l'initialisation et la mise au rebut de ceux-ci. J'ai enlevé ce qui suit d'un vieux projet de la mienne - j'espère que je n'ai pas manqué toute adaptation de la sytaxe pour ce poste. Le code d'origine a couru contre une procédure stockée dans le back-end SQL Server:
Public Overridable Sub DataINSERT() Implements IAppUser.DataINSERT 'tblAppUser
Dim CommandText As String = "INSERT INTO tblUser(UserName, PassWord, Enabled) VALUES(@UserName, @PassWord, @Active)"
'The Connection String can be established in your Project Settings file:
Using cn As New SqlClient.SqlConnection(My.Settings.MyDataConnectionString)
Using cmd As New SqlClient.SqlCommand(CommandText, cn)
cmd.CommandType = CommandType.Text
'INSERT PARAMETER SET_UP:
Dim prmUserName As New SqlClient.SqlParameter("@UserName", SqlDbType.VarChar, 50)
prmUserName.Direction = ParameterDirection.Input
prmUserName.Value = _UserName
cmd.Parameters.Add(prmUserName)
Dim prmPassWord As New SqlClient.SqlParameter("@PassWord", SqlDbType.VarChar, 50)
prmPassWord.Direction = ParameterDirection.Input
prmPassWord.Value = _PassWord
cmd.Parameters.Add(prmPassWord)
Dim prmActive As New SqlClient.SqlParameter("@Active", SqlDbType.Bit, 0)
prmActive.Direction = ParameterDirection.Input
prmActive.Value = _Active
cmd.Parameters.Add(prmActive)
Try
cn.Open()
cmd.ExecuteNonQuery()
Catch ex As Exception
Dim str As String = Me.ToString & ": " & ex.Message & "/" & ex.TargetSite.ToString
MsgBox(str)
End Try
End Using
End Using
End Sub 'DataINSERT tblAppUser
Mon dernier commentaire serait de vérifier les procédures stockées avec SQL Server. Faites-moi savoir si cela n'a aucun sens.
Comment pouvez-vous attendre que quelqu'un vous aide si vous ne fournissez même pas le message d'erreur? – steinar
Veuillez lire les attaques par injection SQL et ne laissez jamais un code comme celui-ci passer en production. – asawyer
Savez-vous ce que [injection SQL] (http://msdn.microsoft.com/en-us/library/ms161953.aspx) est? Voir aussi: [Exploits of a Mom] (http://xkcd.com/327/) –