所以每当我尝试写入数据库时,在MySQL上运行该程序会发出错误(致命的内部连接错误)。
这是使用的代码:
Dim SQLcon As New SqlConnection("Server=127.0.0.1; Database=storedatabase; User Id=root; Password=root;")
Dim cmd As SqlCommand
Try
SQLcon.Open()
cmd.Connection = SQLcon
cmd.CommandText = "INSERT INTO Items (ItemName, ItemPrice, ItemQTY) VALUES ('" & Item & "','" & Price & "','" & Qty & "');"
SQLcon.Close()
MsgBox("Added " & Item & " to Database", MsgBoxStyle.Information)
Catch ex As Exception
MsgBox(ex.Message)
End Try
VB给出了这个错误:
An exception (first chance) of type 'System.InvalidOperationException' occurred in System.Data.dll.
SQL端口更改为1433。
存在包含表格的数据库。
编辑: 将Port = 1433添加到连接字符串后,我收到此错误:
InnerExecption = {"Keyword not supported: 'port'."}
连接字符串:
Dim SQLcon As New SqlConnection("Server=127.0.0.7; Port=1433; Database=storedatabase; User Id=root; Password=root;")
答案 0 :(得分:1)
您正尝试使用MSSQL的客户端库连接到MySQL数据库。您需要使用MySql连接器:
http://dev.mysql.com/doc/refman/5.0/en/connector-net-programming-connecting-connection-string.html
Dim SQLcon As New MySql.Data.MySqlClient.MySqlConnection("Server=127.0.0.1; Port=1433; Database=storedatabase; User Id=root; Password=root;")
Dim cmd As SqlCommand
答案 1 :(得分:0)
尝试使用uid
UserID
和pwd
Password
:
Dim SQLcon As New MySqlConnection("Server=127.0.0.1; Database=storedatabase; uid=root; pwd=root;")
请参阅link
您需要在班级的全球级别使用导入,例如:
Imports MySql.Data.MySqlClient
我假设您正在使用MySQL connector,因为它不像Sql server那样在dotNet中是原生的。否则Imports MySql.Data.MySqlClient
命名空间将无效。