【问题标题】:Second SQL query with value from textfield来自文本字段的第二个 SQL 查询
【发布时间】:2016-04-07 07:41:01
【问题描述】:

我有一个表适配器,它带有一个可以正常工作的简单 SQL 查询。

所以当我按下按钮时,就会发生这种情况(我只是将名称更改为随机名称):

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Me.MyDataTableTableAdapter.Fill(Me.MyData.MyDataTable)
End Sub

这会执行这条 SQL 语句:

SELECT TABLE1.COL1, TABLE1.COL2, TABLE1.COL3, TABLE2.COL1, TABLE2.COL2, TABLE2.COL3
FROM LIB.TABLE2 TABLE,
     LIB.TABLE1 TABLE
WHERE TABLE2.COL2 = TABLE1.COL2
  AND (TABLE1.COL1 = '5458767')

它工作得很好,并输出了一个包含所需信息的表格。但我也希望能够从文本字段中更改订单号。所以现在我得到了一个名为“CustomerOrder”的文本字段。

然后我向我的数据集添加另一个查询:

SELECT TABLE1.COL1, TABLE1.COL2, TABLE1.COL3, TABLE2.COL1, TABLE2.COL2, TABLE2.COL3
FROM LIB.TABLE2 TABLE,
     LIB.TABLE1 TABLE
WHERE TABLE2.COL2 = TABLE1.COL2
  AND (TABLE1.COL1 = '@CustomerOrder')

我的新查询称为 FillByCustomer:

Me.MyDataTableTableAdapter.FillByCustomer(Me.MyData.MyDataTable)

但变量“CustomerOrder”只是空的。如何将文本字段“CustomerOrder.text”中的值传递给我的 SQL 语句?所以我基本上想在我的文本字段“CustomerOrder”中写入订单号​​,并使用我的 Button1 执行此操作并使用与输入的订单号对应的信息更新我的表格。

期待一些建议。

编辑:请参阅下面的答案。我在我的 SQL 语句中犯了一个错误。

【问题讨论】:

  • 两个查询都无效,不应执行...
  • 当我使用查询管理器时,它们怎么会无效?
  • TABLE 是保留字,如果用作标识符,必须进行分隔。 (例如表别名。)您还拥有该表别名两次...哪个 dbms 接受?
  • 对不起。那是我改变的部分。真实姓名不是TABLE。

标签: sql .net vba visual-studio odbc


【解决方案1】:

我在我的 SQL 语句中犯了错误。我正在使用 ODBC,所以对于 @ 我应该使用 ?。然后它就起作用了。

【讨论】:

    猜你喜欢
    • 2017-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-19
    • 1970-01-01
    相关资源
    最近更新 更多