2010-01-08 173 views
0

我在使用VB 2008中的TableAdapter和LIKE語句時遇到了一些問題。我想使用部分拼寫搜索名稱。當我運行應用程序時,什麼都沒有返回。LIKE語句問題

這裏是我的SQL:

SELECT  MEMBERS.RolodexID, MEMBERS.FirstName, MEMBERS.LastName, MEMBERS.address, MEMBERS.Address2, MEMBERS.City, MEMBERS.State, 
         MEMBERS.Zip, MEMBERS.AreaCode1, MEMBERS.LocalNumber1, MEMBERS.AreaCode2, MEMBERS.LocalNumber2, MEMBERS.AreaCode3, 
         MEMBERS.LocalNumber3, Member_Employers.Department, Member_Employers.Job_Class, EMPLOYER.NAME, MEMBERS.Industry, 
         EMPLOYER.CODE 
FROM   EMPLOYER INNER JOIN 
         Member_Employers ON EMPLOYER.CODE = Member_Employers.Employer_Code INNER JOIN 
         MEMBERS AS MEMBERS ON Member_Employers.Rolodexid = MEMBERS.RolodexID 
WHERE  (MEMBERS.LastName like ?) 

這裏是我的VB代碼:

DIM LastName as String 

LastName = me.txt_LastName.text 

Me.MEMBERSTableAdapter.FillBy(DataSet1.MEMBERS, LastName) 

我試過幾個其他的代碼包括:

LastName = "'" & me.txt_LastName.text & "%'" 

LastName = me.txt_LastName.text & "%" 

請幫忙!

回答

1

你Where子句應該是

WHERE  (MEMBERS.LastName like '%searchValue%') 

,如果你想姓氏字段中的任何地方搜索searchValue。

+0

我不認爲這會起作用,參數化查詢會爲你引用引號。所以你最終得到了'''''sam'%'' – Hogan 2010-01-08 20:30:34

0

LastName = "%"+me.txt_LastName.text+"%"是你想要的。

請注意缺少單引號。我知道這很愚蠢,但它是如何運作的。