问题是这样的: 数据库表中有: name ,sex, old !
现在我想在一个form上放一个combobox1;并且combobox1.items里放的是数据库表中对应的姓名,性别,年龄
当我查询数据的时候,我按combobox1中选中的字段来过滤,例如:我选择“姓名”
那么我过滤时候就按"name"来过滤。 有什么办法处理吗??给一点代码提示吧,谢谢前辈!呵呵!!!!
现在我想在一个form上放一个combobox1;并且combobox1.items里放的是数据库表中对应的姓名,性别,年龄
当我查询数据的时候,我按combobox1中选中的字段来过滤,例如:我选择“姓名”
那么我过滤时候就按"name"来过滤。 有什么办法处理吗??给一点代码提示吧,谢谢前辈!呵呵!!!!
解决方案 »
- 打印图片超过纸张大小怎么设置换页?
- 自定义鼠标的问题
- 如果取得数据库的表结构信息
- 请问,在Delphi2005中,能否嵌套汇编语言?
- DBGrid的显示问题!
- Delphi7中,server程序想发一个广播(包含自己的IP&Port),client程序收到广播后既可以建立连接.哪一个控件可以实现?
- 数据库查询的问题?
- 高手看看我写的这个简单的dll是怎么回事,在调用时提示无效的指针操作!
- 千奇百怪的问题,望各位大哥相救(请各位大哥务必看仔细)
- 如果C#胜于Delphi and 很多人准备转向C#,我就抛弃它
- 分发BDE时,请问如何手工注册BDE?在注册表中需要注册那些键值?最好能详细一些,谢谢!
- 一个非常奇怪的问题!!!
procedure TFCC1.cmd_queryClick(Sender: TObject);
begin
sql_str1:=' Where 1=1 ';
if Cb1.State=cbchecked then
begin
sql_str1:=sql_str1+'and reg_date>="'+datetostr(f_date.Date)+'" and reg_date <="' +datetostr(e_date.Date)+'" ';
end;
if bill_f.Text <>'' then
begin
sql_str1:=sql_str1+'and bill_no>="'+ bill_f.text+'" and bill_no<="'+bill_e.Text +'" ';
end;
if code_f.Text <>'' then
begin
sql_str1:=sql_str1+'and item_code>="'+ code_f.text+'" and item_code<="'+code_e.Text +'" ';
end;
Query_flag:='GS';
Grid1_fresh;
end;
用combobox.items[i].data保存字段名称
方法2:
用帧来做,田间一个tstringlist
select* from where name=姓名
具体代码自己写了
2、下面是生成一个动态SQL语句的过程分为两部分
第一部分:
sSele:=select * from 表名 where 1=1
第二部分为动态条件部分
if trim(combobox1.text)='姓名' then
swhere:=' and name='+trim(trim(combobox1.text));
if trim(combobox1.text)='性别' then
swhere:=' and sex='+trim(combobox1.text);
if trim(combobox1.text)='年龄' then
swhere:=' and age='+StrToint(trim(combobox1.text));
下面将两部分合起来就可以
SQL:=sSele+swhere;
再执行SQL语句就可,这也是在开发数据库生成动态SQL语句的一般方法。
如果成功,把分给我呀。哈哈哈哈!!!
query2.SQL.Clear;
query2.SQL.Add('select distinct zldm,zlmc from xxsjk..zlcsb where getdate() between yxqsrq and yxjzrq');
query2.Open;
query2.First;
Edit2.Text:='';
Combobox1.items.Clear;
while not (query2.Eof) do
begin
if Edit2.Text='' then
Edit2.Text:=query2.fieldbyname('zlmc').asstring
else
Edit2.Text:=Edit2.Text+' ; '+query2.fieldbyname('zlmc').asstring;
Combobox1.Items.Add(query2.fieldbyname('zlmc').asstring);
query2.Next;
end;
Combobox1.ItemIndex:=0;
**********************************************
等我有钱了我就站到天安门广场挨个给人发钱
**********************************************