|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
17.05.2007, 14:05 | #1 |
Пользователь
Регистрация: 27.04.2007
Сообщений: 31
|
SQL-запрос
Добрый день!
Нужна помощь с SQL-запросом. Вот тескт программы: type TForm1 = class(TForm) ADOConnection1: TADOConnection; ADOQuery1: TADOQuery; DataSource1: TDataSource; DBLookupComboBox1: TDBLookupComboBox; DBEdit1: TDBEdit; Button1: TButton; DBGrid1: TDBGrid; ADOQuery2: TADOQuery; DataSource2: TDataSource; Label1: TLabel; DBGrid2: TDBGrid; ADOQuery3: TADOQuery; DataSource3: TDataSource; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); procedure DataSource2DataChange(Sender: TObject; Field: TField); private { Private declarations } public { Public declarations } end; ... procedure TForm1.Button1Click(Sender: TObject); begin ADOQuery2.Close; ADOQuery2.SQL.Text:='SELECT * FROM Stage_description WHERE id_stage_name='+ADOQuery1.FieldbyNa me('id_stage_name').AsString; ADOQuery2.Open; end; // ADOQuery1.SQL.Text:='SELECT * FROM Stage_name'; procedure TForm1.FormCreate(Sender: TObject); begin Caption:='Select_Stage. Выбор данных о стадии по названию'; Label1.Caption:='Выберите материал:'; Button1.Caption:='Показать'; end; procedure TForm1.DataSource2DataChange(Sender : TObject; Field: TField); begin ADOQuery3.Close; // ADOQuery3.SQL.Text:='SELECT * FROM Stage,Stage_description WHERE id_stage_name='+ADOQuery1.FieldbyNa me('id_stage_name').AsString+'AND Stage_description.id_stage_descript ion = Stage.id_stage_description'; ADOQuery3.SQL.Text:='SELECT * FROM Stage WHERE id_stage_description = '+ ADOQuery2.FieldbyName('id_stage_des cription').AsString; ADOQuery3.Open; end; Нужно чтобы в DBGrid2 выводилось из таблицы Stage где Stage_description.id_stage_descript ion = Stage.id_stage_description Выдает ошибку 'Project .exe raised exception class EOleException with message "Ошибка синтаксиса (пропущен оператор) в выражении запроса 'id_stage_description = '"' |
17.05.2007, 14:47 | #2 |
Форумчанин Подтвердите свой е-майл
Регистрация: 01.12.2006
Сообщений: 514
|
а на каком именно моменте ругается в делфе?
Пишу на Delphi за еду
|
17.05.2007, 14:54 | #3 |
Форумчанин
Регистрация: 16.04.2007
Сообщений: 298
|
Подозреваю, что ругается здесь:
ADOQuery3.SQL.Text:='SELECT * FROM Stage WHERE id_stage_description = '+ ADOQuery2.FieldbyName('id_stage_des cription').AsString; И это может быть связано с тем, что переменная id_stage_description - не числовая, а строковая и в этом случае надо писать так: ADOQuery3.SQL.Text:='SELECT * FROM Stage WHERE id_stage_description = '+ '''' + ADOQuery2.FieldbyName('id_stage_des cription').AsString + '''';
Не надо ничего усложнять. Все достаточно тривиально.
|
17.05.2007, 15:13 | #4 |
Пользователь
Регистрация: 27.04.2007
Сообщений: 31
|
Спаибо всем. Я уже сама разобралась
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
запрос ссылается на несвязанный с ним запрос | kolebatel | SQL, базы данных | 0 | 11.06.2008 12:50 |
SQL запрос | Uomo | БД в Delphi | 17 | 23.04.2008 14:12 |
Запрос | Инночка | БД в Delphi | 2 | 23.04.2008 13:19 |
SQL запрос | SERG1980 | БД в Delphi | 6 | 19.10.2007 23:03 |
SQL-запрос | Alexey_vyb | БД в Delphi | 4 | 22.05.2007 18:52 |