请教!(50分)

  • 主题发起人 主题发起人 木工
  • 开始时间 开始时间

木工

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大哥:
我在sql server 数据库里建表,字段用的是英文(id,name,birthday,department)。
然后在delphi里面用combobox写查询字段,用的是中文(编号,姓名,出生年月,部门)。
如何通过选择item进行查询,where 字段:=edit.text? 如何讲中文的查询条件转化为英文字段?
是不是很弱的问题
 
把中文的显示和英文的显示进行对比就行了.
把它们放到tstringlist中对比.
 
Val := ComboBox1.Items[ComboBox1.ItemIndex];
Sql:
' .... Where Id = "' + Val + '"';
 
case i
1:beging sql.add('select * from 库 where id=edit.text');sql.open; end;
2:....
3....
end;
加到combobox的onselect事件中
 
combobox好处理,它有一个text,还有一个对应的data
(这个和Ttreeview一样的一个label--data)
给你个例子type
TData = class
dcid:string;
end;
//从表中取数据往传入控件里加电厂名称(在名称对应影含着编码)
procedure p_adddcmc(combobox:tcombobox);

procedure Tjx_jxgywh_main.p_adddcmc(combobox:tcombobox);
var Ldata:Tdata;
begin
qry_TB_JXGL_RWWH1.close;
qry_TB_JXGL_RWWH1.sql.clear;
qry_TB_JXGL_RWWH1.sql.add('select dcid,DCMC from TB_JCWH_DCDW order by dcid');
try
qry_TB_JXGL_RWWH1.open;
except
exit;
end;
qry_TB_JXGL_RWWH1.First;
while not qry_TB_JXGL_RWWH1.eof do
begin
try
Ldata:=Tdata.Create;
except
exit;
end;
Ldata.dcid:=qry_TB_JXGL_RWWH1.Fields[0].AsString;
combobox.Items.AddObject(qry_TB_JXGL_RWWH1.Fields[1].AsString,Ldata);
qry_TB_JXGL_RWWH1.next;
end;
end;
;//当前的电厂编码
fcurrentdcid:=TData(CbX_dcmc.Items.Objects[CbX_dcmc.ItemIndex]).dcid
 
多人接受答案了。
 
后退
顶部