永发信息网

数据库表数据显示到listbox的问题delphi

答案:2  悬赏:0  手机版
解决时间 2021-05-20 06:41

显示在combobox1和combobox2的代码已经写完(没问题就不列出了)

按确定按钮显示在listbox1和listbox2的代码如下

procedure TForm1.Button1Click(Sender: TObject);
var i : integer;
flag : boolean;
begin
with data_M.ADO_bj do
begin
close;
sql.Clear;
sql.Add('select bjdm from bjsz where bjmc='''+bj.Text+'''');
open;
end;
with data_M.ADO_sjd do
begin
close;
sql.Clear;
sql.Add('select sjdm from sjdb where sjd='''+sjd.Text+'''');
open;
end;
with data_M.ADO_gbkm do
begin
close;
sql.Clear;
sql.Add('select kmmc from gbgxqkmb,kskmb where gbgxqkmb.kmdm=kskmb.kmdm and bjdm =:bjdm and sjdm =:sjdm');
parameters.ParamByName('bjdm').Value := data_m.ADO_bj.FieldValues['bjdm'];
parameters.ParamByName('sjdm').Value := data_m.ADO_sjd.FieldValues['sjdm'];
open;
end;
listbox2.Clear;
while not data_m.ADO_gbkm.Eof do
begin
listbox2.Items.add(data_m.ADO_gbkm.FieldValues['kmmc']);
data_m.ADO_gbkm.Next;
end;
with data_M.ADO_km do
begin
close;
sql.Clear;
sql.Add('select kmmc from kskmb');
open;
end;
listbox1.Items.Clear;
while not data_m.ADO_km.Eof do
begin
for i := 0 to listbox2.Items.Count - 1 do
begin
if data_m.ADO_km.FieldByName('kmmc').Value <> listbox2.Items[i] then
begin
listbox1.Items.Add(data_m.ADO_km.FieldValues['kmmc']);
data_m.ADO_km.Next;
end;
end;
end;
end;

问题如下:

with data_M.ADO_gbkm do
begin
close;
sql.Clear;
sql.Add('select kmmc from gbgxqkmb,kskmb where gbgxqkmb.kmdm=kskmb.kmdm and bjdm =:bjdm and sjdm =:sjdm');
parameters.ParamByName('bjdm').Value := data_m.ADO_bj.FieldValues['bjdm'];
parameters.ParamByName('sjdm').Value := data_m.ADO_sjd.FieldValues['sjdm'];
open;
end;

为什么只要这一步筛选就可以显示出来??

sql.Add('select kmmc from gbgxqkmb,kskmb where gbgxqkmb.kmdm=kskmb.kmdm and bjdm =:bjdm and sjdm =:sjdm'); // 这里的 bjdm =:bjdm and sjdm =:sjdm 是来做什么的

parameters.ParamByName('bjdm').Value := data_m.ADO_bj.FieldValues['bjdm'];
parameters.ParamByName('sjdm').Value := data_m.ADO_sjd.FieldValues['sjdm'];
//这两步代码什么意思 添加数据??添加到哪里?跟显示数据到listbox有什么关系?

接下来要做的保存是左边的数据往右移动一个数据

比如 大学英语 往右移动到右边的listbox

然后保存到数据数据库中

这步怎么做呢?疑惑

最佳答案

bjdm =:bjdm and sjdm =:sjdm 这是两个变量 下面是给变量赋值


移动到右边 是 listbox2.Items.Add(listbox1.Items[listbox1.itemindex]);


var
i:integer;
begin
for i:=1 to listbox2.Count then
begin
with adoquery1 do
begin
close;
sql.Clear;
sql.Add('insert 表(字段名) values('''+listbox2.Items[i]+''' )');
execsql;
end;
end;


全部回答

open;//这里是执行查询的意思 就显示是因为之前已经绑定了数据集,只要查询结果一出来,就马上显示了~

bjdm =:bjdm and sjdm =:sjdm

这里是定义了两个变量,用来引用的,

parameters.ParamByName('bjdm').Value := data_m.ADO_bj.FieldValues['bjdm']; parameters.ParamByName('sjdm').Value := data_m.ADO_sjd.FieldValues['sjdm'];

这里就是因用那个了上面定义的变量,然后给他赋值

大学英语向右移的问题比较容易

你将选中的在第一个里边删除,然后在右边添加就行了。

listbox2.items.add(ListBox1.Items.Strings[ListBox1.ItemIndex]);//添加到右边

ListBox1.Items.Delete(ListBox1.ItemIndex);//删除左边

至于保存到数据库这步就由你自己写sql代码执行就行了

with data_M.ADO_gbkm do begin close; sql.Clear; sql.Add('insert into 表 values(....)');//自己添加代码 ExecSQL;

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
用手机下载电子书,怎么下载??网址是多少??
关于人生价值的古诗词,关于价值的古诗词
怎样才能消黑头?
师说的重点句子翻译,《师说》一文中如果考默
《绾青丝》里面所有的歌名?谁知道?给我发发
中国电信手机好用吗?比移动和联通有什么优点
跑步如何呼吸,跑步正确呼吸方法是?
岂不乐哉是什么意思?
为什么我下载的游戏没有启动程序??
等式(a-2)x的平方+ax+3=0是关于x的一元一次
如何才能让女友的私处更润滑!
红楼梦的精美语句,红楼梦精美语句赏析
成语 最宽的视野( )
做菜单封面 --小资情调的餐厅 要注意些什么细
月经提前8天正常吗?
推荐资讯
放牛娃王二小这篇课文告诉了我们什么
游戏东西。 我很长时间没见到你了
当前有没有比较时尚的歌曲,MV舞蹈也比较简单
要如何面对自己喜欢的人和别的女生在一起
新街王智刚烩菜馆怎么去啊,有知道地址的么
跟路有关的美文,诵读中华经典美文,争做现代
安全工作班后评语,员工评语大全:员工评语怎
HP CQ510(ve920pA)和联想B450那个比较好啊
出去郊游想到的诗句,有关郊游的诗句
命运石之门说的是什么,动漫,命运石之门 讲了
怎样才能学习好车工呢
告诉我一些新的日本动漫 要好看的
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?