|
#1
|
||||
|
||||
Поиск по Таблице
Привет программистам
Такой вопрос. Я в своей программе хочу сделать поиск. На форме есть таблица (подключена к бд в Access с помощью ADO), она нормально отображает записи. Внизу располагаю TEdit и кнопку. По задумке - при вводе в поле кода (такое поле в таблице есть) и нажатии на кнопку в таблице должна оставаться только одна строчка (у которой код соответствует запросу). Поставила ADOQuery и связала с AdoConnection, в SQL написан такой код: Код:
Select * From [Таблица заказов] Код для кнопки такой: Код:
procedure TForm1.Button1Click(Sender: TObject); var str:string; begin ADOQuery1.SQL.Clear; str:='Select * from [Таблица заказов] Where Код='''+Edit3.Text+''''; ADOQuery1.SQL.Add(str); ADOQuery1.close; ADOQuery1.open; end; Собственно вопрос - что делаю не правильно? |
#2
|
||||
|
||||
Код:
with Query do begin Close; SQL.Clear; SQL.Add('SELECT *'); SQL.Add('FROM 'Таблица заказов''); SQL.Add('WHERE 'Код'='+Edit3.Text); Open; end; В начале был Бит, потом Байт и только потом появилось Слово... |
#3
|
||||
|
||||
Что-то не получается... если правильно поняла, то код для кнопки должен выглядеть так:
Код:
procedure TForm1.Button1Click(Sender: TObject); with ADOQuery1 do begin ADOQuery1.Close; SQL.Clear; ADO.Query1SQL.Add('SELECT *'); ADO.Query1SQL.Add('FROM 'Таблица заказов''); ADO.Query1SQL.Add('WHERE 'Код'='+Edit3.Text); ADOQuery1.Open; end; Последний раз редактировалось Sk@zk@, 11.01.2010 в 19:02. |
#4
|
|||
|
|||
Учи синтаксис..)
Код:
procedure TForm1.Button1Click(Sender: TObject); begin with ADOQuery1 do begin ADOQuery1.Close; SQL.Clear; ADO.Query1SQL.Add('SELECT *'); ADO.Query1SQL.Add('FROM 'Таблица заказов''); ADO.Query1SQL.Add('WHERE 'Код'='+Edit3.Text); ADOQuery1.Open; end; end; |
#5
|
||||
|
||||
Спасибо Одной ошибкой стало меньше
Теперь ругается на другое: Illegal character in input file 'T'($D2) Illegal character in input file 'a'($E0) Illegal character in input file 'K'($CA) На сколько я понимаю там как-то в скобках надо по другому название таблицы и столбца выделить... только как? |
#6
|
||||
|
||||
Так попробуйте:
Код:
ADO.Query1SQL.Add('SELECT *'); ADO.Query1SQL.Add('FROM [Таблица заказов]'); ADO.Query1SQL.Add('WHERE [Код]='+Edit3.Text); Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
#7
|
||||
|
||||
Так программа запускается) но при нажатии на кнопку выкидывает ошибку: "Несоответствие типов данных в выражении условия отбора". В базе данных у поля стоит тип - текстовое. Если поменять на числовое, то ошибку не выкидывает, но снова ничего не происходит(и не ищет и ошибки не выкидывает). Но с числовым у меня не работает другая кнопка на удаление(а если стоит текстовое - работает).
|
#8
|
|||
|
|||
тема похожая, задам вопроса тут
как мне по числовому полю выбрать записи к примеру начинающие на 4. если поле текстовое то тогда понятно делаю Код:
Like '4%' |
#9
|
||||
|
||||
Код:
WHERE CAST (ИМЯ_ПОЛЯ AS CHAR) like '4%' |
#10
|
|||
|
|||
да именно так Спосибо.
|