0

所以每次我尝试写入数据库时​​,在 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;")
4

2 回答 2

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
于 2013-10-29T04:33:57.573 回答
0

尝试使用uidforUserIDpwdfor Password

Dim SQLcon As New MySqlConnection("Server=127.0.0.1; Database=storedatabase; uid=root; pwd=root;")

链接

您需要在班级的全局级别使用导入,例如:

Imports MySql.Data.MySqlClient

顺便说一句,我假设您使用的是MySQL 连接器,因为它不像 Sql 服务器那样在 dotNet 中不是原生的。否则Imports MySql.Data.MySqlClient命名空间将不起作用。

于 2013-10-29T05:30:20.930 回答