|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Missing query, table name or procedure name
Здравствуйте! Проблема при включении Sqlquery из состояния active:=false в true-"Missing query, table name or procedure name".В Sqlquery.Sql нет текста запроса,т.к. он записан в кнопке
И если написать в свойстве sql компонета Sqlquery любой запрос, например,SELECT * FROM users, программа запускается, но кнопка все равно не работает. Как можно сделать чтобы при нажатии на кнопку выполнялся запрос на кнопке, а не в компоненте sqlquery? В приложении архив с исходниками. Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, WideStrings, DBXMySql, FMTBcd, DBClient, DB, Provider, SqlExpr, Grids, DBGrids, StdCtrls, DBTables; type TForm1 = class(TForm) DBGrid1: TDBGrid; SQLConnection1: TSQLConnection; SQLQuery1: TSQLQuery; DataSetProvider2: TDataSetProvider; ClientDataSet2: TClientDataSet; DataSource2: TDataSource; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin SQLQuery1.Close; SQLQuery1.SQL.Clear; SQLQuery1.SQL.Add('SELECT * FROM users'); SQLQuery1.ExecSQL; end; end. Последний раз редактировалось gerSiger, 27.07.2016 в 15:05. |
#2
|
||||
|
||||
не ExecSQL, а Open.
Пишу программы за еду. __________________ |
#3
|
|||
|
|||
не работает.Та же ошибка.
Последний раз редактировалось gerSiger, 27.07.2016 в 15:34. |
#4
|
|||
|
|||
SQLQuery1.SQL.Add('SELECT * FROM `users`');
SQLQuery1.Open; |
#5
|
|||
|
|||
с обратными апострофами в имени таблицы тоже не запускается.
пробовал и ещё вот так Код:
SQLQuery1.SQL.Add('SELECT * FROM qsystem.users'); SQLQuery1.Open; Спасибо всем за помощь. Решение оказалось таким: Код:
Clientdataset2.Active:=false; sqlQuery1.Close; sqlQuery1.SQL.Clear; sqlQuery1.SQL.add('SELECT * FROM users'); sqlQuery1.open; Clientdataset2.Active:=true; Последний раз редактировалось gerSiger, 28.07.2016 в 04:15. |