怎么用clientdataset与ADOTable或ADOQrery移动到表中的一个记录,然后进行del与edit,怎样把这条记录中的其中一个字段取出来然后赋给一个

明行 2002-03-25 11:41:47
怎么用clientdataset与ADOTable或ADOQrery移动到表中的一个记录,然后进行del与edit,怎样把这条记录中的其中一个字段取出来然后赋给一个Edit?100分真情大奉送!请详细说明一下!!!!
...全文
58 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
明行 2002-03-26
  • 打赏
  • 举报
回复
taber(李沉舟)
不要EDIT也不可以的。试过了!

xxmmmx(踢踏)

我已经解决了的!

不过RecNo怎么使用呢?如我现在记录在第三条了,我怎么知道它在第三条呢?
明行 2002-03-26
  • 打赏
  • 举报
回复
如果我一个表里有五条记录,有三个字段:name , age , sex

我要移到第三条中:把三个字段的内容分别给:edit1,edit2,edit3

怎么做?
fredfei 2002-03-26
  • 打赏
  • 举报
回复
移动
第一个 ClientDataSet1.First
上一个 ClientDataSet1.Prior
下一个 ClientDataSet1.Next
最后一个 ClientDataSet1.Last
定位
ClientDataSet1.FindKey('键值');
ClientDataSet1.Locate(字段,值,选项)
....
插入
ClientDataSet1.Insert
编辑
ClientDataSet1.Edit
删除
ClientDataSet1.Delete
取值
Edit1.Text:=ClientDataSet1.FieldByName('字段名').Asstring
赋值
ClientDataSet1.FieldByName('字段名').Asstring:='字符串'
也可以用其他的方法
ADOQUERY和ADOTABLE一样

踢踏 2002-03-26
  • 打赏
  • 举报
回复
ClientDataSet1.RecNo:=2;//0,1,2,3,4五条记录,定位到第三条
Edit1.Text:=ClientDataSet1.FieldByName('name').AsString;
Edit2.Text:=ClientDataSet1.FieldByName('age').AsString;
Edit3.Text:=ClientDataSet1.FieldByName('sex').AsString;

taber 2002-03-26
  • 打赏
  • 举报
回复
直接删,不要edit
明行 2002-03-26
  • 打赏
  • 举报
回复
没有人哪!
fredfei 2002-03-26
  • 打赏
  • 举报
回复
哦,你是不是找不到字段
你得先创建dataset才行
clientdataset1.CreateDataSet;
clientdataset1.Active:=true;

然后就按一般dataset处理行了
明行 2002-03-26
  • 打赏
  • 举报
回复
yopeng(鹏鹏):
不行,还是删除不了的!
DataModule1.ClientDataSetDW.Close;
DataModule1.ClientDataSetDW.Open;
DataModule1.ClientDataSetDW.Edit;
DataModule1.ClientDataSetDW.Delete;
明行 2002-03-26
  • 打赏
  • 举报
回复
比如我现在用向下按键一直按,不知到了第几条了,现在我要修改或删除这条记录。

怎么做呢?
yopeng 2002-03-26
  • 打赏
  • 举报
回复
还有我用DataModule1.ClientDataSetDW.Open;
DataModule1.ClientDataSetDW.Delete;
不能删除记录,是怎么回事呢?
DataModule1.ClientDataSetDW.Open;
DataModule1.ClientDataSetDW.edit;
DataModule1.ClientDataSetDW.Delete;

lyxinfo 2002-03-26
  • 打赏
  • 举报
回复
RecNO当前行号,RecordCount行数。
可以直接设置RecNO指向第几行。

怎么会不能删除,症状信息不足。
明行 2002-03-26
  • 打赏
  • 举报
回复
不好意思 上面的问题解决了!

可是我在修改的时候,总是只能修改第一条记录,我怎么对记录进行定位修改呢?DataModule1.ClientDataSetDW.Active:=false;
DataModule1.ClientDataSetDW.Active:=true;
DataModule1.ClientDataSetDW.Edit;

还有就是,我在作向上向下移动记录的时候,我怎么能知道移动到了第几条记录,也就是怎么获得当前记录的记录号数!

还有我用DataModule1.ClientDataSetDW.Open;
DataModule1.ClientDataSetDW.Delete;
不能删除记录,是怎么回事呢?
fredfei 2002-03-26
  • 打赏
  • 举报
回复
zengyixun(曾一迅) 的信誉不错,愿意回答你的问题
明行 2002-03-26
  • 打赏
  • 举报
回复
我已经给班主发短消息了~
明行 2002-03-26
  • 打赏
  • 举报
回复
csdn怎么搞的,我都给了分了,可是你们的数据库出现了错误,怎么全没有分呢!!!!!!!!
踢踏 2002-03-26
  • 打赏
  • 举报
回复
ClientDataSet1.Delete;
ClientDataSet1.ApplyUpdate(0);
明行 2002-03-26
  • 打赏
  • 举报
回复
xxmmmx(踢踏)谢谢你的RecNo,非常的好用!解决了很多问题!

各位,现在就只有del一条记录了,为什么删除不了呢?
明行 2002-03-26
  • 打赏
  • 举报
回复
各位帮忙呀!
fredfei 2002-03-25
  • 打赏
  • 举报
回复
?
哪个移给哪个,请说清楚
clientdataset得用法和其他的dataset用法差不多
hzb 2002-03-25
  • 打赏
  • 举报
回复
clientdataset和普通的DataSet用法一样的,DataSet怎么定位纪录,clientdataset也一样。例如移动到表中一个记录可以用next、locate等方法,del:clientdataset.Delete,edit:直接修改就是了;赋值:edit.text :=clientdataset.fieldbyname('fieldname').Asstring

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧