类型为'的首次机会例外;MySql.Data.MySqlClient.MySqlException';发生在MySql.Data.dll中
我正在尝试登录,在user(usuario)表中,在我编译代码之后,我在即时窗口中得到了这个“警告”,警告是我的主题,然后在我点击Register按钮后,我收到一条消息,说我有一个错误,说:“您的SQL语法有错误;检查与MySQL服务器版本相对应的手册,以获得在第一行使用“')”附近的正确语法 My table usuarios(users)具有以下字段:idUsuario(主键,非空,自动递增)、Cedula(id)varchar(15)、name(Nombre)varchar(10)、Apellido(姓氏)varchar(10)、username(Usuario)varchar(10)、clave(密码)varchar(10)。西班牙语名称显然与表相同,当我创建clave时,我没有注意到它有一个小写的c,这就是为什么我现在没有把它和大写字母放在一起 代码如下: Conexion.bv(模块) 端模块 现在是datos_Ingreo课程类型为'的首次机会例外;MySql.Data.MySqlClient.MySqlException';发生在MySql.Data.dll中,mysql,visual-studio-2010,Mysql,Visual Studio 2010,我正在尝试登录,在user(usuario)表中,在我编译代码之后,我在即时窗口中得到了这个“警告”,警告是我的主题,然后在我点击Register按钮后,我收到一条消息,说我有一个错误,说:“您的SQL语法有错误;检查与MySQL服务器版本相对应的手册,以获得在第一行使用“')”附近的正确语法 My table usuarios(users)具有以下字段:idUsuario(主键,非空,自动递增)、Cedula(id)varchar(15)、name(Nombre)varchar(10)、Ape
Private _columna_idUsuarios As Integer
Private _columna_cedula As String
Private _columna_nombre As String
Private _columna_apellido As String
Private _columna_usuario As String
Private _columna_clave As String
Public Property columna_idUsuarios As Integer
Get
Return _columna_idUsuarios
End Get
Set(ByVal value As Integer)
_columna_idUsuarios = value
End Set
End Property
Public Property columna_cedula As String
Get
Return _columna_cedula
End Get
Set(ByVal value As String)
_columna_cedula = value
End Set
End Property
Public Property columna_nombre As String
Get
Return _columna_nombre
End Get
Set(ByVal value As String)
_columna_nombre = value
End Set
End Property
Public Property columna_apellido As String
Get
Return _columna_apellido
End Get
Set(ByVal value As String)
_columna_apellido = value
End Set
End Property
Public Property columna_usuario As String
Get
Return _columna_usuario
End Get
Set(ByVal value As String)
_columna_usuario = value
End Set
End Property
Public Property columna_clave As String
Get
Return _columna_clave
End Get
Set(ByVal value As String)
_columna_clave = value
End Set
End Property
末级
最后,关于Ingreo_uusario_系统类
Imports MySql.Data
Imports MySql.Data.Types
Imports MySql.Data.MySqlClient
Public Class ingreso_usuario_sistema
Private adaptador As New MySqlDataAdapter
Public Function ingresarUsuarios(ByVal datos As datos_ingreso) As Boolean
Dim estado As Boolean = True
Try
coneccion_global() 'llama a la funcion para crear la conexion la base de datos
conector.Open() 'Se crea la conexion a la base de datos
'Utiliza las instancias de la clase de datos de ingreso para poder ingresar los registros a los campos
'@nombre_campo hace referencia a lo que tiene cada variable para insertar en la Base de Datos
'@nombre_campo esta hecho en datos_ingresados.
'No se incluye el id
adaptador.InsertCommand = New MySqlCommand("insert into usuarios (Cedula, Nombre, Apellido, Usuario, clave) values (@columna_cedula, @columna_nombre, @columna_apellido, @columna_usuario, @columna_clave,)", conector)
adaptador.InsertCommand.Parameters.Add("@columna_cedula", MySqlDbType.VarChar, 10).Value = datos.columna_cedula
adaptador.InsertCommand.Parameters.Add("@columna_nombre", MySqlDbType.VarChar, 15).Value = datos.columna_nombre
adaptador.InsertCommand.Parameters.Add("@columna_apellido", MySqlDbType.VarChar, 15).Value = datos.columna_apellido
adaptador.InsertCommand.Parameters.Add("@columna_usuario", MySqlDbType.VarChar, 15).Value = datos.columna_usuario
adaptador.InsertCommand.Parameters.Add("@columna_clave", MySqlDbType.VarChar, 15).Value = datos.columna_clave
'conector.Open()
adaptador.InsertCommand.Connection = conector
adaptador.InsertCommand.ExecuteNonQuery()
Catch ex As MySqlException
MessageBox.Show(ex.Message)
estado = False
Finally
cerrar()
End Try
Return estado
End Function
末级
在注册(注册)按钮上,我有下一个代码:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim conexion As New ingreso_usuario_sistema
Dim datos As New datos_ingreso
datos.columna_cedula = TextBox1.Text
datos.columna_nombre = TextBox2.Text
datos.columna_apellido = TextBox3.Text
datos.columna_usuario = TextBox4.Text
datos.columna_clave = TextBox5.Text
If conexion.ingresarUsuarios(datos) Then
MsgBox("Entry was successful", MsgBoxStyle.Information, "Registro Usuarios")
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox1.Focus()
Else
MsgBox("Entry was not successful", MsgBoxStyle.Information, "Registro Usuarios")
TextBox1.Text = ""
TextBox2.Text = ""
TextBox3.Text = ""
TextBox4.Text = ""
TextBox5.Text = ""
TextBox1.Focus()
End If
End Sub
如前所述,我首先得到“警告”,然后从异常中得到sql语法错误,然后得到条目未成功消息
谢谢大家抽出时间。请告诉我我的错误在哪里。我遇到了同样的错误。我使用完整的连接字符串解决了此问题,如下所示:
"server=localhost;user id=root;persistsecurityinfo=True;database=rmsprd_owner;port=3307;password=rmsprd"
因为在安装时,我使用的是端口3307,而不是3306。请自行检查并相应更改连接字符串
"server=localhost;user id=root;persistsecurityinfo=True;database=rmsprd_owner;port=3307;password=rmsprd"