各位程序员,我有一个SQL问题问。!(20分)

  • 主题发起人 主题发起人 linlky
  • 开始时间 开始时间
L

linlky

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TForm1.B_appeClick(Sender: TObject);
begin
With Add_Q do
begin
Close;
SQL.Clear;
SQL.Add('Select * From User_pass');
SQL.Add('Where User_pass.ID="'+lid.Text+'"');
Execsql;
User_Table1.Refresh;
end;
With User_Table1 do
begin
Open;
Refresh;
end;

我用的是DBGRID控件。但是我用了 SQL.Add('Select * From User_pass');
SQL.Add('Where User_pass.ID="'+lid.Text+'"');
但是在DBGRID里面没动静。按我想的来说,应该过滤出満足lid.Text里的内容呀!
可是就是没变呀。好像什么也没执行一样。
我要怎么做?才能満足lid.Text里的内容显示在DBGRID里呀?
请各位帮助一下OK?
 
不能用Execsql,用open
 
樓上說的對,對於select 語句得用open,execsql是對於那些不用返回數據集的sql語句的!
還有就是你的dbgrid必須同Add_Q關聯,不可以同User_Table1 關聯.
 
同意楼上所说,DBGRID必须同ADD_Q关联
 
Execsql 只适全于insert、update等等
你必须使用Open方法
 
同时要注意SQL语句中:WHERE 前面要有空格
 
同意楼上所说的。
 
将User_Table1.Refresh;
改成user_table1.active:=false;
user_table1.active:=true;
 

SQL.Add('Select * From User_pass');
SQL.Add('Where User_pass.ID='+#39+lid.Text+#39);
Open;

good lucky
 
后退
顶部