我有一段代码与Try&捉:
Try
comando = New OleDbCommand("INSERT INTO login VALUES (Usuario, Password, Cuenta)" & Chr(13) &
"VALUES(UsuarioText, PasswordText, TipoText)", conexion)
comando.Parameters.AddWithValue("@Usuario", UsuarioText.Text)
comando.Parameters.AddWithValue("@Password", PasswordText.Text)
comando.Parameters.AddWithValue("@Cuenta", TipoText.Text)
comando.ExecuteNonQuery()
MsgBox("El registro ha sido guardado exitosamente", MsgBoxStyle.Information, "Informacion")
Catch ex As Exception
MsgBox("El registro no se pudo guardar", MsgBoxStyle.Critical, "Informacion")
MsgBox(ex.Message)
End Try
我正在尝试通过在语句末尾添加一些;
来修复错误,但仍无效。
它可能是什么?
答案 0 :(得分:0)
尝试此方法
' SQL COMMAND FOR INSERTING VALUES
Dim objCommand As OleDbCommand = New OleDbCommand()
objCommand.Connection = conexion
objCommand.CommandText = "INSERT INTO login VALUES ([Usuario], [Password], [Cuenta])" & _
"VALUES(@Usuario, @Password, @cuenta)"
' CONTROLS BINDING
objCommand.Parameters.AddWithValue("@Usuario", UsuarioText.Text)
objCommand.Parameters.AddWithValue("@Password", PasswordText.Text)
objCommand.Parameters.AddWithValue("@Cuenta", TipoText.Text)
'OPEN CONNECTION
conexion.Open()
'EXECUTE CONNECTION
objCommand.ExecuteNonQuery()
MsgBox("El registro ha sido guardado exitosamente", MsgBoxStyle.Information, "Informacion")
'CLOSE CONNECTION
conexion.Close()
我评论了代码的每个部分
希望有所帮助
这是我用于项目的简单方法
这是不正确的VALUES(UsuarioText, PasswordText, TipoText)
更正一个VALUES(@Usuario, @Password, @cuenta)
,因为我使用parameters.addWithValue绑定控件
objCommand.Parameters.AddWithValue("@Usuario", UsuarioText.Text)
objCommand.Parameters.AddWithValue("@Password", PasswordText.Text)
objCommand.Parameters.AddWithValue("@Cuenta", TipoText.Text)
答案 1 :(得分:0)
嘿@NietzscheProgrammer
尝试调整INSERT
语句,因此它只有一行。删除CHAR(13)并添加" @"变量中的符号。不要忘记将SEMICOLON放在声明的末尾。
Try
comando = New OleDbCommand("INSERT INTO login VALUES (Usuario, Password, Cuenta) VALUES(@UsuarioText, @PasswordText, @TipoText);", conexion)
comando.Parameters.AddWithValue("@Usuario", UsuarioText.Text)
comando.Parameters.AddWithValue("@Password", PasswordText.Text)
comando.Parameters.AddWithValue("@Cuenta", TipoText.Text)
comando.ExecuteNonQuery()
MsgBox("El registro ha sido guardado exitosamente", MsgBoxStyle.Information, "Informacion")
Catch ex As Exception
MsgBox("El registro no se pudo guardar", MsgBoxStyle.Critical, "Informacion")
MsgBox(ex.Message)
End Try
答案 2 :(得分:0)
在表VALUES
之后忽略Login
它应该是:
comando = New OleDbCommand("INSERT INTO login (Usuario, Password, Cuenta) VALUES (UsuarioText, PasswordText, TipoText)", conexion)
修改强>
另外:put" @"
"VALUES (@UsuarioText, @PasswordText, @TipoText)", conexion)
确保带有@的值与comando.Parameters
中的匹配
将其更改为:
comando.Parameters.AddWithValue("@UsuarioText", UsuarioText.Text)
comando.Parameters.AddWithValue("@PasswordText", PasswordText.Text)
comando.Parameters.AddWithValue("@TipoText", TipoText.Text)