![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Здравствуйте! Проблема при включении 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. |