MariaDB为什么不接受我的字符串变量作为我的SQL查询中的表名?

问题描述 投票:0回答:1

我在从xampp数据库检索数据数据时遇到问题。我对此很陌生,所以我不知道如何解决。这是我的代码:

Dim contract As String

Private Sub projectchart()
  OpenConnection()
  sql = "SELECT activityname, progress FROM '" & contract & "';'
  dr = cmd.ExecuteReader
  Chart2.Series("Progress").Points.Clear()

  While dr.Read
    Chart2.Series("Progress").Points.AddXY(dr("activityname"),dr("progress"))
  End While

  cmd.Dispose()
  con.Close()
End Sub

当我运行此代码时,出现此错误

您的SQL语法有误;检查与您的MariaDB服务器版本相对应的手册,以在第1行的“ c00101”附近使用正确的语法]

c00101是表名,这是可变合同的内容

但是,当我尝试以以下格式运行代码时,一切运行正常,我尝试显示数据的图表运行正常。

sql = "SELECT activityname, progress FROM c00101;"


我真的不知道为什么会这样。有什么可以帮助我吗?

mysql vb.net xampp mariadb vb.net-2010
1个回答
0
投票

如果您查看的是实际的SQL,而不是构建它的代码,则会看到其中的区别,即单引号。这是用于指定文本值。就像您在VB中的文字Strings上加上双引号,而不是在变量或其他标识符上加上双引号一样,您在SQL中的文字文字上但在标识符周围也加上单引号。

© www.soinside.com 2019 - 2024. All rights reserved.