用Ado连接DBF,怎么解决memo非空列不能更新Null??(100分)

十三

Unregistered / Unconfirmed
GUEST, unregistred user!
我用Ado连接DBF,
strconnect:='Provider=MSDASQL.1;Persist Security Info=False;';
strconnect:=strconnect+'Mode=read;';
strconnect:=strconnect+'Extended Properties="DSN=Visual FoxPro Tables;UID=;';
strconnect:=strconnect+'SourceDB=';
strconnect:=strconnect+dbfpath+';';
strconnect:=strconnect+'SourceType=DBF;';
strconnect:=strconnect+'Exclusive=Yes;BackgroundFetch=Yes;';
strconnect:=strconnect+'Collate=Machine;Null=no;Deleted=Yes;"';
adotable1.ConnectionString:=strconnect;
adotable1.TableName := dbfName;
连接后,一个Memo字段要求内容为空.结果储存时报错。
非空列不能更新为Null??怎么解决这个问题?请大家帮忙!
 
大家帮帮忙!比较着急!
 
不太明白,不赋值给它不就可以了吗,把问题说得更具体点吧
 
DBF3.0的库。
是DBF的Memo字段内容,不管付不付值,只要内容为空。
就会报非空列不能更新为Null的错误。不知道怎么办。
我改用BDE连接。上面没问题了
但储存记录时。有时这个Memo字段内容就丢了
报*.fpt的输出错误。怎么解决呢!
 
strconnect:=strconnect+'Collate=Machine;Null=no;Deleted=Yes;"';
你把这句里的Null=no改成Null=yes试试
 
用空格表示为空不就好了吗!如:
If Trim(Memo1.Lines.Text)='' then
S:=' '
else
S:=Trim(Memo1.Lines.Text);
...
SQL.Text:='Insert into XXX Values('''+S+''')';
 
不这么简单。我看是ADO与DBF3.0接口可能问题比较大。
不过不能让你们白来一趟。
 
顶部