为什么 sql 命令无法转换为 vb.net 中的 mysql 命令
why sql command cannot be converted to mysql command in vb.net
我目前正在努力将我的数据网格视图连接到我的数据库,但问题是我无法连接并出现此错误:MySql.Data.MySqlClient.MySqlCommand' cannot be converted to 'System.Data.SqlClient.SqlCommand
这是我的代码:
Private Sub populateGird()
Dim da As New SqlDataAdapter
Dim ds As New DataSet
Dim bs As New BindingSource
Try
sqlC = New MySqlCommand("SELECT c_id, CONCAT(c_firstname, c_lastname), rank_name, c_bir_status, rank_basic_pay, rank_positional_allowance," &
"rank_meal_allowance, ca_worth FROM tbl_crew, tbl_cash_advance, tbl_rank", conn)
da.SelectCommand = sqlC '--> error is that sqlC
da.Fill(ds)
bs.DataSource = ds
PayrollGrid.DataSource = bs
da.Update(ds)
conn.Close()
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
conn.Dispose()
End Try
这是我在模块中的连接代码:
Imports MySql.Data.MySqlClient
Module Module1
Public conn As MySqlConnection
Public Sub connect()
conn = New MySqlConnection
conn.ConnectionString = "server=localhost;user=root;database=fat2x_payroll;pwd=;Convert Zero Datetime=True"
Try
conn.Open()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
End Module
将您的 SqlDataAdapter 声明更改为 MySQL 的适当类型(我猜是 MySqlDataAdapter?)
Dim da As New SqlDataAdapter
错误消息非常清楚 - 您正在尝试从不兼容的类型进行分配! SelectCommand
是 System.Data.SqlClient.SqlCommand
类型,因为您已将 da
定义为 System.Data.SqlClient.SqlDataAdapter
类型的变量。另一方面,您正在创建类型为 MySql.Data.MySqlClient.MySqlCommand
的变量,这是一种不同的类型,当您尝试进行赋值时无法将其转换为 SqlCommand
。
解决此问题的方法是更改您的代码以使用 MySql.Data.MySqlClient
中相应的 类,如下所示:
Dim da As New MySqlDataAdapter
我目前正在努力将我的数据网格视图连接到我的数据库,但问题是我无法连接并出现此错误:MySql.Data.MySqlClient.MySqlCommand' cannot be converted to 'System.Data.SqlClient.SqlCommand
这是我的代码:
Private Sub populateGird()
Dim da As New SqlDataAdapter
Dim ds As New DataSet
Dim bs As New BindingSource
Try
sqlC = New MySqlCommand("SELECT c_id, CONCAT(c_firstname, c_lastname), rank_name, c_bir_status, rank_basic_pay, rank_positional_allowance," &
"rank_meal_allowance, ca_worth FROM tbl_crew, tbl_cash_advance, tbl_rank", conn)
da.SelectCommand = sqlC '--> error is that sqlC
da.Fill(ds)
bs.DataSource = ds
PayrollGrid.DataSource = bs
da.Update(ds)
conn.Close()
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
conn.Dispose()
End Try
这是我在模块中的连接代码:
Imports MySql.Data.MySqlClient
Module Module1
Public conn As MySqlConnection
Public Sub connect()
conn = New MySqlConnection
conn.ConnectionString = "server=localhost;user=root;database=fat2x_payroll;pwd=;Convert Zero Datetime=True"
Try
conn.Open()
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
End Module
将您的 SqlDataAdapter 声明更改为 MySQL 的适当类型(我猜是 MySqlDataAdapter?)
Dim da As New SqlDataAdapter
错误消息非常清楚 - 您正在尝试从不兼容的类型进行分配! SelectCommand
是 System.Data.SqlClient.SqlCommand
类型,因为您已将 da
定义为 System.Data.SqlClient.SqlDataAdapter
类型的变量。另一方面,您正在创建类型为 MySql.Data.MySqlClient.MySqlCommand
的变量,这是一种不同的类型,当您尝试进行赋值时无法将其转换为 SqlCommand
。
解决此问题的方法是更改您的代码以使用 MySql.Data.MySqlClient
中相应的 类,如下所示:
Dim da As New MySqlDataAdapter