Как постановка проблемы - PullRequest
0 голосов
/ 08 января 2010

У меня возникли некоторые проблемы при использовании TableAdapter и оператора LIKE в VB 2008. Я хочу найти имя, используя частичное написание. Когда я запускаю приложение, ничего не возвращается.

Вот мой 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 & "%"

Пожалуйста, помогите!

Ответы [ 2 ]

1 голос
/ 08 января 2010

Ваше условие Где должно быть

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

, если вы хотите искать searchValue в любом месте поля LastName.

0 голосов
/ 08 января 2010

LastName = "%"+me.txt_LastName.text+"%" - это то, что вы хотите.

Обратите внимание на отсутствие одинарных кавычек. Я знаю, что это глупо, но так оно и есть.

...