我一直得到一个错误,说“你的SQL语法中有一个错误。”当我使用这个SQL语句时:
SELECT * FROM gsm_oceanwide_integration
字符串
编辑:
要将其放在上下文中,这里的代码im在(VB.net)中使用此查询语句:
Dim con As MySqlConnection = New MySqlConnection("Data Source=" & frmLogin.txtserver.Text & ";Database=stratocast;User ID=" & frmLogin.txtusername.Text & ";Password=" & frmLogin.txtpassword.Text & ";")
Dim sqladmin As MySqlCommand = New MySqlCommand("SELECT * FROM employee", con)
Dim sqlprojects As MySqlCommand = New MySqlCommand("SELECT * FROM projects", con)
Dim sqlpage As MySqlCommand = New MySqlCommand("SELECT * FROM '" & frmMain.ListBox1.SelectedItem & "';", con)
Dim ds5 As DataSet = New DataSet()
Dim DataAdapter5 As MySqlDataAdapter = New MySqlDataAdapter()
Dim Comb As MySqlCommandBuilder
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' retrieving the Project Page.
Try
con.Open()
DataAdapter5.SelectCommand = sqlpage
DataAdapter5.Fill(ds5, "stratocast")
DataGridView3.DataSource = ds5
DataGridView3.DataMember = "stratocast"
con.Close()
Catch myerror As MySqlException
MessageBox.Show("Error Retrieving Project Page: " & myerror.Message)
End Try
End Sub
型
在我的frmMain表单上,我有一个带有项目列表的列表框(其中之一是gsm_oceanwide_integration),我想让它在单击该选项时显示另一个带有datagridview的表单。此datagridview需要填充来自我称为gsm_oceanwide_integration的表的数据。(如列表框选择)
所以我当前的查询语句(包括vb.net标签)是:
Dim sqlpage As MySqlCommand = New MySqlCommand("SELECT * FROM '" & frmMain.ListBox1.SelectedItem & "';", con)
型
今天早些时候它还能工作,但我一定是修改了一些东西,忘记了.
**UPDATE 2:**我更改了sqlpage命令语句:
Dim sqlpage As MySqlCommand = New MySqlCommand("SELECT * FROM '" & frmMain.ListBox1.SelectedItem & "';", con)
型
收件人:
Dim sqlpage As MySqlCommand = New MySqlCommand("SELECT * FROM [" & Me.ListBox1.SelectedItem.Value & "]", con)
型
我在另一个表单上得到了一个新的错误,但它链接到listbox 1;代码如下:
Private Sub ListBox1_SelectedValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedValueChanged
Form1.indprojectname.Text = ListBox1.SelectedItem
Form1.Show()
End Sub
型
错误显示在这个屏幕截图中(我认为屏幕截图可能是显示错误详细信息的最佳方法):x1c 0d1x
错误是:(如果你无法阅读屏幕截图)
创建表单时出错。有关详细信息,请参阅Exception.InnerException。错误是:未设置Object变量或With块变量。
另外,谢谢你的快速回复,对不起,我不能更快地更新我的帖子。
谢谢你,谢谢
4条答案
按热度按时间rggaifut1#
在列表框中的表名周围的双引号之前的单引号怎么样?它不应该在那里。你有:
字符串
它应该是:
型
nfg76nw02#
避免在表名或字段名中添加任何特殊字符。坚持使用约定,例如...
myFieldName
-称为 Camel 套管或.my_field_name
-仅使用下划线至于sql语句,我看不出它有什么问题。表名正确吗?
kyvafyod3#
关于您对表名中的空格的查询:
简短回答-是但不是
不过,我会看看MySQL documentation on Schema Object Names
同样如注解中所提到的,允许使用带引号的标识符将空格作为表标识符,但我不鼓励使用它们,主要是出于可读性的考虑。
至于你的查询,则需要更多的信息,比如你的表列表。
4bbkushb4#
我得到了与提问者相同的错误,但原因不同。
我将我的一个表命名为
order
,当对这个表执行查询时,sql会认为我的表名是关键字ORDER
。即
select * from order;
返回字符串
为了解决这个问题,我可以将表名用双引号括起来,并成功地运行搜索。
select * from "order";
工作!