起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 624|回复: 4

【结贴】问个对于高手比较简单,对于我很难得问题。。

[复制链接]
发表于 2010-11-27 15:51:02 | 显示全部楼层 |阅读模式
我下了一段代码如下所示,定义了9个edit控件,想把控件中的内容写到数据表里面,代码如下

procedure TMainForm.BizFormCreate(Sender: TObject);
var
  sqlstr:string;
begin
      sqlstr:='update XLKSJB set DHHM='''+Trim(edit1.text)+''',SBH='''+trim(edit2.text)+''',PXJ='''+trim(edit5.text)+''',FXXDZ='''+trim(edit6.text)+''',ZQTPXJHJJXLS='''+trim(edit4.text)+''',ZQTPXJHJJXDS='''+trim(edit3.text)+''',DWMC='''+trim(edit7.text)+''', DZ='''+trim(edit9.text)+''',FXXDS='''+trim(edit8.text)+'''where DHHM='''+trim(edit1.text)+'''';
      DataSetBroker1.DataSet.close;
      Tsqldataset( DataSetBroker1.DataSet).SQL.Clear;
      Tsqldataset( DataSetBroker1.DataSet).SQL.Text:=sqlstr;
      DataSetBroker1.DataSet.open;
end;

编译没有错误,但是运行时出现错误:数据集取字段失败。
是不是更新语句不应该用open执行?我看delphi书籍是,上面说应该用exectsql语句,但是那是ADOQUERY组件的语法,X3里面好像没有这个组件,我该怎么改谢谢了。
回复

使用道具 举报

发表于 2010-11-27 19:53:33 | 显示全部楼层
说你那个数据表或者数据集没有那个字段(或者你建字段的时候没有重新生成物理表)...X3你直接用QUERY的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-11-28 16:02:30 | 显示全部楼层
最初由 huangyue 发布
[B]说你那个数据表或者数据集没有那个字段(或者你建字段的时候没有重新生成物理表)...X3你直接用QUERY的 [/B]


我想问的是我这个数据集操作逻辑顺序上有错误吗,不管sql语句的正确与否了、
回复 支持 反对

使用道具 举报

发表于 2010-11-29 08:10:49 | 显示全部楼层
1、select语句才使用open,更新语句不是
2、既然用平台的dataset,那么就不需要这么去实现直接类似于:
dataset.edit(修改,如果是插入,就用append)
dataset.fieldbyname('zd').asstring := '';
dataset.post;
dataset.applyupdates;
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-11-30 20:18:57 | 显示全部楼层
最初由 zfang 发布
[B]1、select语句才使用open,更新语句不是
2、既然用平台的dataset,那么就不需要这么去实现直接类似于:
dataset.edit(修改,如果是插入,就用append)
dataset.fieldbyna..

以下省略...... [/B]


嗯 多谢~~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-5 20:56 , Processed in 0.040311 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表