C
cpj7406
Unregistered / Unconfirmed
GUEST, unregistred user!
var Qry: TADOQuery; strSQL: string;begin try strSQL := 'select * from t where 1=0'; Qry := TADOQuery.Create(nil); with Qry do begin Active := False; Connection := Conn; SQL.Clear; SQl.Add(strSQL); Active := True; end; Qry.Edit; Qry.Append; Qry.FieldByName('C').AsString := '中国'; Qry.Post; finally Qry.Free; end;其中, conn 为窗体上的一个 TADOConnection 对象,其连接字符串为 "DRIVER=Oracle in OraHome92;UID=???;PWD=???;DBQ=???;SERVER=???"。Oracle:9.2.1,运行于 Windows Server 2003。Delphi:7测试程序Exe,运行于 Windows Xp sp2。测试的数据表:create table t (c clob);如上所示,如果试图赋值 “中国”,只会搞进去“中”;如果试图赋值“ab”,则能够正常写入。这个问题,不知哪位能够提出一些解决方法。我已经花费若干小时遍览了 Internet 上的各种文章,居然未解。什么 TMemoField.LoadFromFile,什么对字符串的 Unicode 编码都尝试过了。