2016-04-07 2 views
0

私はうまく動作する単純な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ステートメントで間違いを犯しました。

+0

両方のクエリが無効であるため、実行しないでください。 – jarlh

+0

クエリマネージャを使用しているときに、これらのクエリを無効にするにはどうすればよいですか。 – user3359740

+0

'TABLE'は予約語であり、識別子として使用される場合には区切られなければなりません。 (テーブルエイリアスなど)。また、そのテーブルエイリアスを2回使用しています...どのdbmsがそれを受け入れますか? – jarlh

答えて

0

私は誤ってSQL文で作成しました。私はODBCを使用していますので、代わりに@を使用してください。そして、それは動作します。

関連する問題