中易网

delphi 打开窗口直接运行代码

答案:4  悬赏:10  
解决时间 2021-01-12 09:16
  • 提问者网友:容嬷嬷拿针来
  • 2021-01-11 23:03
delphi 打开窗口直接运行代码
最佳答案
  • 二级知识专家网友:罪歌
  • 2021-01-11 23:56
在开这个窗体的时候 直接显示查询的结果
可以考虑在窗体的 OnShow 事件中,运行数据的查询。


不可以修改 
将 DBGrid 设置为只读。


点击Button1 按钮后 可以向里输入数据 然后点Button2保存到数据库
将各字段用 edit 等控件一一对应建立,点击 Button1 时,先清空各 edit 原有数据;输入完成后,点 Button2 时,数据库执行 Append,再将数据 Post 到数据库中。
全部回答
  • 1楼网友:詩光轨車
  • 2021-01-12 03:22
dbgrid 关联到一个datasource, 一个datasource关联到一个dataset(table或query), button1代码中加入 table.edit; button2的代码中加入 table.post;

点button1后不显示其它数据,这个我不明白,原来的数据还是要显示的,在原来的数据上修改,原来的数据也不要了?追问以前的数据还要 就是在点输入以后 不显示出来
  • 2楼网友:逐風
  • 2021-01-12 02:31
大概明白你的意图,开这个窗体的时候直接显示查询的结果,可在窗体的SHOW事件中做好打开数据集的工作,这样当窗体显示出来的时候,数据也就显示出来了。要不可修改,只要设置DBGrid的Readonly属性为TRUE就行。点击Button1 按钮后,要关闭数据集(如TADOQuery),然后替换数据集控件的查询语句后重新打开数据集,让它返回一个不含记录但字段一样的空数据集,同时把DBGrid的Readonly属性为FALSE,这样就可以输入数据了。点Button2保存到数据库后,又要关闭数据集,换回原来的查询语句后重新打开数据集。这种方法只适合追加新记录,如果要修改记录,代码将复杂很多。
  • 3楼网友:冷風如刀
  • 2021-01-12 01:10
不知你是用ADOquery连接还是ADOtable连接。
1>如是是ADOQUERY连接,在SQL属性中加入:select * from 表名,将ADOQUERY的active设为true,ADOConnection也设为true,则开窗体时显示结果;
2>datasource的autoEdit设为false,则无法修改;
3>button1_Click事件中,设datasource的autoEdit为true则可在dbgrid中直接输入数据了,同时,将adoquery.active设为false,则不显示数据
4>至于保存后显示所有数据跟第一步是一样的
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息