使用oledb连接dbf数据库时,如何insert大数据(>FF)到memo型数据字段中?

jzh24 2002-04-24 09:52:05
按理说memo型的数据应该可以随便才对,可以一旦数据量的长度>FF时候就会出错。
请高手指点。

...全文
78 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jzh24 2002-04-25
  • 打赏
  • 举报
回复
我是用vc作一个service,不用什么控件。sql语句的长度应该是没有关系的,我连sqlserver(text) | oracle(clob)都是可以的。
还有什么办法??
流星尔 2002-04-25
  • 打赏
  • 举报
回复
不是memo的错,是你语句的错。ff不就是255吗?应该是你的sql语句字符太长。一个sql语句最长长度就是255,如果超过这个长度,即使语法正确也会出错。

如果是有后台数据库的话,在后台执行。
解决办法就是一个字符串连接sql语句。
declare @string varchar(8000)
@string="ddddddddddddddddddddddddddddddddd"
@string=@string+"333333eeeeeeeeeeeeeeeeeeeeeeeee"
exec(@string)

如果没有后台,单机的话,不用将memo字段用insert来传输。你可以在一个和备注字段相关联的控件中直接输入。
jzh24 2002-04-25
  • 打赏
  • 举报
回复
不知道是不是CCommand 的Open只有在bBind = true 时候才能绑定这个DBTYPE_IUNKNOWN接口。所以。。。
jzh24 2002-04-25
  • 打赏
  • 举报
回复
sql语句就是一般的的insert命令
ps:
/**
假设有一个dbf的表test,只有一个memo字段;
session 为 const CSession& ;
m_rs 为 CCommand CDynamicAccessor
*/
char *m_sql = "insert into test values ('.....');
hr = m_rs.Open(session, LPCTSTR(m_sql),NULL,NULL,DBGUID_DEFAULT,false);
结果hr为0x80040E14,说是m_sql有问题。但是如果数据源为sqlserver|oracle却不会,会不会是guidCommand 的值???
流星尔 2002-04-25
  • 打赏
  • 举报
回复
你把你插入记录的代码贴出来看看。

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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