简单问题请教(数据库查询的)COMBOBOX(50分)

  • 主题发起人 主题发起人 owow
  • 开始时间 开始时间
O

owow

Unregistered / Unconfirmed
GUEST, unregistred user!
我要实现COMBOBOX里选择某个字段,然后在EDIT中输入对应的值,按BUTTON查询,结果显示在DBGIRD中,怎么把以下的代码,改了啊

procedure TForm1.Button1Click(Sender: TObject);
begin
ADODataSet1.CommandText:='select * from 表1 name='''+edit1.text+'''';
//这里的+号是干什么用的啊?????
//这里的NAME 要换成COMBOBOX的内容啊,怎么改代码啊????我用MSACESS 做数据库
ADODataSet1.Active:=true;
end
 
ADODataSet1.CommandText:='select * from 表1 combobox.text='''+edit1.text+'''';
 
ADODataSet1.CommandText:='select '+combobox.text+' from 表名 '+' where '+
+combobox.text+'='+''''+edit1.text+'''';
 
++表示在其中的是个变量;
如果你的combobox显示的是字段名就按照上面的做法!
 
ADODataSet1.CommandText:='select * from 表1 where '+combox.text+'='''+edit1.text+'''';
 
KeepObject:
可以编译,但是不能运行后不能原先的达到目的。不能查到那个记录啊
 
resun:
你的代码肯定有误了,编译不过了
 
你也不能这样乱套呀!
你可以换种方法来做。
你可以先设一个变量SQL为string;
代码如下:
procedure TForm1.Button1Click(Sender: TObject);
var
Sql: string;
begin
Sql := 'select * from 表1 where '+COMBOBOX.Text+'='+edit1.text;{当然这条SQL本身是要对的}
ADODataSet1.Active:=False;
ADODataSet1.CommandText:=Sql;
ADODataSet1.Active:=true;
end
 
发现奇怪现象 ,可以查出一些字段,但是不能查出某个字段,字段类型是一样的
 
我随便写的,多了一个加号而已,自己改改
ADODataSet1.CommandText:='select '+combobox.text+' from 表名 '+' where '+
combobox.text+'='+''''+edit1.text+'''';
既然能查出一些字段,说明用法没有错误,自己好好查一下吧
 ̄ ̄
 
多人接受答案了
 
后退
顶部