私はうまく動作する単純なSQLクエリを持つテーブルアダプタを持っています。テキストフィールドの値を持つ2番目の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ステートメントで間違いを犯しました。
両方のクエリが無効であるため、実行しないでください。 – jarlh
クエリマネージャを使用しているときに、これらのクエリを無効にするにはどうすればよいですか。 – user3359740
'TABLE'は予約語であり、識別子として使用される場合には区切られなければなりません。 (テーブルエイリアスなど)。また、そのテーブルエイリアスを2回使用しています...どのdbmsがそれを受け入れますか? – jarlh