【发布时间】:2014-01-20 11:30:01
【问题描述】:
我正在尝试运行此查询但失败:
procedure TForm4.FormShow(Sender: TObject);
begin
with ClientDataSet1 do
begin
ClientDataSet1.Close;
ClientDataSet1.CommandText :='';
ClientDataSet1.CommandText :='select lokacije.[LOKACIJA_ID],lokacije.[RESORT_ID],'
+ 'lokacije.[HOTEL_ID],lokacije.[NAZIV],'
+ 'uporabniki.[RESORT_ID],uporabniki.[HOTEL_ID],uporabniki.[LOKACIJA_ID],'
+ 'uporabniki.[UPORABNIK],uporabniki.[GESLO],uporabniki.[PRAVICE] from LOKACIJE'
+ 'inner join UPORABNIKI on lokacije.[LOKACIJA_ID]=uporabniki.[LOKACIJA_ID]'
+ 'where lokacije.[NAZIV] = ''' + Form2.AdvOfficeStatusBar1.Panels[3].Text + ''' '
+ 'ORDER BY Uporabniki.[UPORABNIK]';
ClientDataSet1.Open;
end;
end;
我收到错误:“远程错误:没有这样的表:LOKACIJEinner”
我在这里错过了什么??? 数据库是 SQLite。我在这里打开的表单是模态的。整个应用程序是一个数据快照。这是客户端。问题实际上是这样的:我有很多位置,我只需要 AdvOfficeStatusBar1.Panels[3].Text 显示的位置名称中的数据。
【问题讨论】:
-
where lokacije.[NAZIV] = ' + Form2.AdvOfficeStatusBar1.Panels[3].Text + ' ' -
您正在使用状态栏面板的
.Text属性...来自另一个表单...在 SQL 查询中?我认为即使是全局变量也不会那么罪恶。 -
现在我收到“[Hotel] 附近的远程错误:语法错误”...?
-
@user3181689 好的,然后在位置名称中添加引号。
where lokacije.[NAZIV] = ''' + Form2.AdvOfficeStatusBar1.Panels[3].Text + ''' ' -
大声笑,在执行之前检查该查询两次。现在你缺少空间。太明显了。错误告诉你“No such table LOKACIJEinner”所以首先你可以想到的是LOKACIJE 和 inner 因为缺少空格...
标签: sql sqlite delphi delphi-xe4