2016-04-07 34 views
0

Basit bir SQL sorgusu olan bir tablo bağdaştırıcım var, iyi çalışıyor. Benim düğmesine vurduğundaİkinci SQL sorgusu ile SQL sorgu alanı

Yani bu (ben sadece rastgele bir şey İsimleri değiştirildi) olur:

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

Ve bu SQL deyimi yürütür:

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') 

O inşaat büyük ve bir çıkışı istenen bilgi içeren tablo. Ama aynı zamanda sipariş numarasını bir metin alanından değiştirebiliyorum. Şimdi "CustomerOrder" adlı bir metin alanım var.

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') 

Ve yeni sorgu FillByCustomer denir:

o zaman benim veri kümesine başka bir sorgu ekliyorum

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

Ama değişken "CustomerOrder" sadece boş. Değeri "CustomerOrder.text" metin alanından SQL deyimime nasıl aktarabilirim? Bu yüzden sipariş numaramı "Müşteri Siparişi" metin alanımda yazmak istiyorum ve bunu yapmak için Düğme1'i kullanıyorum ve tabloyu girilen sipariş numarasına karşılık gelen bilgilerle güncelliyorum.

Bazı önerileri bekliyorum.

DÜZENLEME: Aşağıdaki cevaba bakınız. SQL ifademde bir hata yaptım.

+0

Her iki sorgu geçersiz ve çalıştırılmamalıdır ... – jarlh

+0

Sorgu yöneticisini kullanırken nasıl geçersiz olabilirler? – user3359740

+0

'TABLE' ayrılmış bir sözcüktür, tanımlayıcı olarak kullanılıyorsa sınırlandırılmalıdır. (örneğin, tablo diğer adları.) Ayrıca bu tablo iki kez de alıyorsunuz ... Hangi dbms bunu kabul eder? – jarlh

cevap

0

SQL ifademde yanlışlıkla yaptım. ODBC kullanıyorum, bunun yerine @ kullanmalıyım? Ve sonra çalışır.