100分求教:往Clientdataset数据集里插数据的问题

shuremic 2007-05-17 03:08:09
界面有5个speedbutton分别为:添加、删除、修改、撤消、保存
有一个DBGrid1,内有字段id,name,code,password,role,name_j等
id非自长型,id数据类型float,其他字段数据类型都为string

另有:DBEdit1关联name,数据类型
DBEdit2关联code,
DBEdit3关联name_j,
DBCombobox1关联role.
DataSource1:dsuser
Clientdataset1:cdsuser
ADOQUERY连接user表

现要实现点击添加按钮,往数据集插入数据
id为现有数据库中最大id+1
password为初始密码0000
role内有多个角色,根据角色的不同,name_j可加可不加
求插入时的代码。
...全文
299 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
shuremic 2007-05-17
  • 打赏
  • 举报
回复
ID是指定的,能否用一变量,每次插入前先查询MAX(ID)+1,再赋值。想请教具体的写法,ClientDataset没用过。另外,除了这个以外,插入按钮还有一个要解决的问题,就是根据role不同,判断是否往name_j内插数据。这个我在cdsuser里的name_j的onchange事件里,已经加了代码:
if cdsus.Fields[8].AsString = '教授' then
dbgrid1.Columns[9].ReadOnly := true;
但,运行后,在dbedit3输入数据,点击dbgrid,仍能看到dbedit输入的值
hongqi162 2007-05-17
  • 打赏
  • 举报
回复
就不要用这些db组件了,用Tedit,TCombobox自己手动控制然后控制clientdataset的 append,edit,delete
IDWB 2007-05-17
  • 打赏
  • 举报
回复
需要用代码吗?id是自动生成还是指定的,如果是指定的那么必须在数据库另外定义一个记录id的表,如果数据库中定义了默认的password那么也不用写什么代码,如果没有指定可以在adoquery的onnewrecord中定义password,所有插入语句可以省略用actionlist
Elysium 2007-05-17
  • 打赏
  • 举报
回复
ding

2,496

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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