Chinaunix

标题: 請教﹕delphi連as400,追加不行﹐其它都行 [打印本页]

作者: hhmyz    时间: 2006-02-11 11:11
标题: 請教﹕delphi連as400,追加不行﹐其它都行
如上﹐用delphi連as400,其它操作都行﹐就是用append不行﹕
是ado+ODBC方式﹐錯誤如下﹕
直接用adoquery1.fieldbyname('machine').asstring:='01';錯誤一樣。

[ 本帖最后由 hhmyz 于 2006-2-11 11:15 编辑 ]

001.gif (8.45 KB, 下载次数: 75)

001.gif

作者: wildfish    时间: 2006-02-11 12:36
machine字段不能被修改。
作者: hhmyz    时间: 2006-02-13 09:17
原帖由 wildfish 于 2006-2-11 12:36 发表
machine字段不能被修改。

為何不能呢﹖
adoquery1.append;
adoquery1.fieldbyname('machine').asstring:='01';為何會出錯。
但是用sql語句的插入等操作就沒有問題。
adoquery1.sql.add('insert into ...............')就沒問題。
是不是只能用sql語句而不能用delphi的本身語句
作者: kentnyg    时间: 2006-02-14 10:32
你用的是TSQLQuery,好象是只能执行查询的,不能够执行update, delete的
作者: kentnyg    时间: 2006-02-14 10:36
当然你直接用sql语句是可以的
作者: hhmyz    时间: 2006-02-14 13:47
原帖由 kentnyg 于 2006-2-14 10:36 发表
当然你直接用sql语句是可以的

難道不能用adoquery.append的方式嗎﹖
作者: kentnyg    时间: 2006-02-14 14:28
还有一点就是machine是什么类型的字段,是不是其他类型的就不能用AsString, 可以用下AsBCD或者什么的试试
作者: hhmyz    时间: 2006-02-14 14:46
原帖由 kentnyg 于 2006-2-14 14:28 发表
还有一点就是machine是什么类型的字段,是不是其他类型的就不能用AsString, 可以用下AsBCD或者什么的试试

這個應不會錯﹐試了A和O都不行。試了value,asvariant也不行﹐asbcd通不過.
作者: kentnyg    时间: 2006-02-14 14:55
那就没办法了,TSQLQuery好象是有很多毛病! 最好还是用TSQLStoreProcedure吧




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2