关于DBEdit的程序赋值问题,请指教!

yaos 2004-10-09 08:10:20
就是想在程序中,通过类似的
DBEDit1.Text := s;
来赋值。

但是,程序执行后,确实出现预期的结果,但是转换焦点后,结果消失,即使不转换焦点,也不能被保存到数据库。

可能不能这么直接赋值,请教正确的方法。

Edit控件没有这个问题,但是不打算用。毕竟不太直接。
...全文
164 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
lionlsl 2004-10-09
  • 打赏
  • 举报
回复
要让dbedit连的adoquery或adotable在append或edit状态,才能对dbedit进行赋值,否则就不行啦!~~~
如果你用的dbedit没有连adoquery或adotable 就不能输入数据!~~
savagexyz 2004-10-09
  • 打赏
  • 举报
回复
没有insert,edit状态是提交不了的
capoatguitar 2004-10-09
  • 打赏
  • 举报
回复
就按最上层的人说的办吧,类似的缺陷有很多,一个一个查也查不过来。
lzy6204 2004-10-09
  • 打赏
  • 举报
回复
不知楼主要怎样一个直接法,数据敏感控件是存在这些问题的
ghchen 2004-10-09
  • 打赏
  • 举报
回复
up
yaos 2004-10-09
  • 打赏
  • 举报
回复
能不能直接做到?
yaos 2004-10-09
  • 打赏
  • 举报
回复


难道没有直接的方法么?

毕竟写到数据库不太干净呢

而且,实际上我碰到的情况还有另外一种呢

就是类似 text := Text + s;的情况
yaos 2004-10-09
  • 打赏
  • 举报
回复
就是通过Insert过来的数据

另外查找源代码,暂时没有找到问题。但是怀疑在TDBEdit.KeyPress中有答案
兵兵 2004-10-09
  • 打赏
  • 举报
回复
用这个dataset.FieldByName(DBEDit1.Datafield).AsString:=s;直接赋到数据库中,就不会出现那样的结果了,我以前也遇到过
qizhanfeng 2004-10-09
  • 打赏
  • 举报
回复
DBEDit1.Text := s;
不好
就是
qingenerp(真爱不息) ( 的
budded 2004-10-09
  • 打赏
  • 举报
回复
你需要设置 数据集的状态,
比如
DataSet.Edit; // 进入编辑状态
DataSet.Post; // 提交数据
qingenerp 2004-10-09
  • 打赏
  • 举报
回复
你就用dataset.FieldByName(DBEDit1.Datafield).AsString:=s;
trainbox 2004-10-09
  • 打赏
  • 举报
回复
那是因为你没有把数据集的状态设置为Edit或者Insert
readersm68 2004-10-09
  • 打赏
  • 举报
回复
DBEDit1.Text := s;转移焦点会提交到数据集,如果你的提交按钮不是窗体控件没有焦点的话,数据集中的值不会改变。建议使用FieldByName(DBEDit1.Datafield).AsString:=s

2,497

社区成员

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

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