永发信息网

delphi中 表格操作 结果集访问 字符串转换,老手进

答案:1  悬赏:30  手机版
解决时间 2021-04-25 02:39
我是新手,在学delphi时遇到不少问题,可能对老手来说比较简单,请高手们指点一下。
1  在dbgrid、stringgrid表格上上下移动时,光标所在整一行变成蓝色,就像listbox、combobox里选中的项目一样,这在dbgrid和stringgrid里该怎么设置?
2  在上一问的基础上按回车编辑本行,要求只激活这一行中可以修改的列,光标不能停留在不能修改的列,这在2种表中又该怎么设置?
3  怎样编写代码对dbgrid、stringgrid中特定行、特定列、特定单元的数据进行访问和赋值呢?
4  对用sql语句返回的数据库结果集recordset,怎样编写代码来读取它的数据?如果结果集没有列名,又该怎么读取?例如下图
5  字符串截取。例如字符串database001,我想要截成前面的字母串database和后面的数字串001,或者更一般的在任意位置截取,例如database001截成dat和abase001。不知道有没有函数能实现这个功能呢?
6  变换字符串。例如database001,我想在运行时实现自加,变成database002 database003……不知道有没有相应的函数呢?
最佳答案

1:在他们的options的dgRowSelect属性改为true;


2:你在设置完dgRowSelect属性为true的时候。你就会发现他原来的dgEditing属性就变成了false,就是无法直接修改,所以你说的这个可能不能实现,至少我是没办法。。


3:


 if DBGrid1.DataSource.DataSet.RecordCount<>0 then
  begin
    combobox1.Text:=DBGrid1.Fields[0].AsString;


  end;


就是combobox1等于DBGrid1中你所选的行的第一列数据


4:可以select max(名称)as name from 商品信息


5:这个貌似听说有。。我也找了好久了。。可惜没找到= =!


6:这个你可以吧001存在一个表中。。然后运行的时候先调出这个表中的001 然后在前面加英文


with dm.aq_dac do


 begin


  close;


  sql.clear;


  sql.add('select * from dac where id=''3''');


  open;


  edit1.text:='datebase'+fieldbyname('D_no'),asstring;


 end;


自动增加数字的话。你可以在某一个按钮上写。当点击后。。取出数据库中的001 然后给他+1 然后通过一段运算让他变成002 然后update这条数据。。下次取的时候就变成002了;

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
梦幻诛仙青云师门任务在哪接啊
龙OL公侧信息。内侧积活码怎样获得?
和比自己小的男孩在一起,会幸福吗??
怎样立即变白?
华北区太玄满级多少级
路由器DCR-605、M1灯闪跃、
谁能给我个战地之王内测码
怀孕32周,彩超显示宝宝第三脑室宽0.7CM,请
莒州康都医疗保健城莒县店在哪里啊,我有事要
诺基亚E65有没有停产?什么是候停产的
34747Q币积分是多少Q币
怎样养胃?
我想买一只萨摩谁有啊 最好三四个月大
对公司一句话祝福,对学生最好的祝福有那些
《钢铁是怎样炼成的》,这书好看麽?
推荐资讯
怎么知道自己的QQ什么时候注册的
安字草书怎么写好看,张字的草书怎么写 20分
世界上人口有多少
让世界充满爱 邹越
赞美床沙发的句子,赞美家具的句子
北京纹身的地方哪儿技术好呢?
麦迪咋不复出呀?
怀孕期间梦见被别人追和睡觉不踏实是不是因为
重庆的朋友请进!!
吉林蛟河洪水现在怎么样了?
为什么我的头发老是掉啊?
为什么自己想用一些办法忘记她,可是不管用呢
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?