MySql.Data.MySqlClient.MySqlException-vb.net
无法找出我的代码出了什么问题。我想从mysql数据库中检索sha256密钥MySql.Data.MySqlClient.MySqlException-vb.net,mysql,vb.net,Mysql,Vb.net,无法找出我的代码出了什么问题。我想从mysql数据库中检索sha256密钥 keys table: Id(int 4) | key (varchar64) 1 | 5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8 myAdapter.Fill(MyDataTable)行不断抛出错误 MySql.Data.MySqlClient.MySqlException未处理 ErrorCode
keys table:
Id(int 4) | key (varchar64)
1 | 5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8
myAdapter.Fill(MyDataTable)行不断抛出错误
MySql.Data.MySqlClient.MySqlException未处理ErrorCode=-2147467259 Message=您的SQL语法有错误; 检查与MySQL服务器版本对应的手册,了解 在第1行使用接近“key WHERE id=1”的正确语法 以下是完整的错误日志: 这是我从youtube学到的代码…
Dim connectDatabase As New MySqlConnection("Server=localhost;User Id=root;Password=testing123;Database=flag15")
If TextBox1.Text = "" Then
MessageBox.Show("Please input a user id", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
Else
Dim myAdapter As New MySqlDataAdapter("SELECT * FROM keys WHERE id= " & TextBox1.Text, connectDatabase)
Dim mydataatable As New DataTable
myAdapter.Fill(mydataatable)
If mydataatable.Rows.Count > 0 Then
Label4.Text = mydataatable.Rows(0).Item("key")
Else
MessageBox.Show("User ID is not found", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
TextBox1.Text = ""
Label4.Text = ""
End If
End If
对我来说似乎是正确的。尝试在查询末尾添加“;” 将myAdapter设置为新的MySqlDataAdapter(“从键中选择*,其中id=“&Integer.parse(Trim(TextBox1.Text))+”;,connectDatabase) 我添加了修剪和整数解析,以防传递更多的空白字符
尝试记录并发布您正在运行的最终查询。我假设您需要在
中使用撇号,其中id=…
。然而,你对未来的发展持开放态度。不要连接sql字符串,而是使用sql参数
Using con = New MySqlConnection("Server=localhost;User Id=root;Password=testing123;Database=flag15")
Using myAdapter = New MySqlDataAdapter("SELECT * FROM keys WHERE id=@id", con)
myAdapter.SelectCommand.Parameters.AddWithValue("@id", TextBox1.Text)
Dim mydataatable As New DataTable
myAdapter.Fill(mydataatable)
'...'
End Using
End Using
我在第二行出错了。。重载解析失败,因为无法使用以下参数调用可访问的“New:@ysj:Typo,更正。我错误地使用了
SqlDataAdapter
而不是MySqlDataAdapter
。但是下面是一个构造函数,它允许从字符串(对于SelectCommand
)和MySqlConnection
)创建MySqlDataAdapter
:我尝试在其他表中添加一个键列,但在同一个数据库中,它起作用了。。。但是为什么它在key table=x上不起作用呢