我正在尝试使用 vb.net 控制台应用程序在 MYSQL 数据库中创建表,我已经尝试使用 Visual Studio 2012 运行它并且运行顺利但是当我尝试使用 VS 2012 的构建创建 .EXE 文件时我复制了bin/debug 上的文件无法运行,因为我将它部署到另一台机器(我已经在机器上安装了 MYSQL connect 6.8.3 和 .NET 框架)。我已经尝试调试它,问题发生在我将变量合并到查询中的地方。
这是代码。
导入 MySql.Data.MySqlClient 模块模块1
Sub Main()
toCreateTable()
End Sub
Private Sub toCreateTable()
Dim varString As String = "tablenaming"
Dim Query As String
Dim con As MySqlConnection = New MySqlConnection("server=10.4.26.101; user=prolog; database=db_prolog; port=3306; password=n0viru$;")
con.Open()
Query = "CREATE TABLE '" & varString & "' ( usernames varchar(50) ) "
Dim cmd As New MySqlCommand(Query, con)
If (cmd.ExecuteNonQuery()) Then
End If
con.Close()
End Sub
结束模块
这里是错误。
unhandled exception: mysql.data.mysqlclient.mysqlexception you have an error in your SQL syntax; check the manula that correspons to you MySQL server version for the right syntas to user near ''tblenaming' (usernames varchar(50)) )' at line 1
at mysql.data.mysqlclient.mysqlstream.readpacket()
at mysql.data.mysqlclient.nativdriver.getresult(int32& statementId, int32& affected Rows, int 64& insertedId)
at mysql.data.mysqlclient.driver.getresult(int32 statementId, Boolean force)
at mysql.data.mysqlclient.mysqldatareader.nextresult()
at mysql.data.mysqlcommand.executereader(commandbehavior behavior))
at mysql.data.mysqlclient.mysqlcommand.executenonquery()
at consolapplication15.module1.toCreateTable()
at consoleapplication.module1.main()
谢谢你们。
最佳答案
在 MySql 中,用于封装表名或列名的默认字符是反引号。不是单引号。尝试将您的代码更改为
Query = "CREATE TABLE `" & varString & "` ( usernames varchar(50) ) "
在按住 ALT 键的同时键入反引号,然后按数字键盘上的 096
关于Mysql 数据库在 .EXE vb.net 控制台文件上崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21646594/