请教c#连接dbf自由表,delete后pack总失败?

benbenmao2012 2016-12-29 06:20:45
我用C#oledb访问一个dbf文件,delete特定的记录。但我再pack的时候报异常

sqlstr = "delete from his_contract where recorddate='" + today.ToString("yyyyMMdd") + "'";
cmd.CommandText = sqlstr;
cmd.ExecuteNonQuery();

sqlstr = "pack his_contract";
cmd.CommandText = sqlstr;
cmd.ExecuteNonQuery(); //这里会报异常 : file is in use

折腾了半天也没搞定,以上两部分代码分别使用都没有问题。这个pack到底该怎么用?
谢谢大家指点!
...全文
244 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2017-01-06
  • 打赏
  • 举报
回复
读呀,Exclusive 不就是 独占 吗?
benbenmao2012 2017-01-06
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
pack 需要用独占方式打开表 你之前的 delete from his_contract where ..... 是共享方式打开的
我在pack前执行一句 "use his_contract Exclusive";就搞定了。 或者你还有什么其他方式吗? 多谢
benbenmao2012 2017-01-06
  • 打赏
  • 举报
回复
引用 1 楼 xuzuning 的回复:
pack 需要用独占方式打开表 你之前的 delete from his_contract where ..... 是共享方式打开的
谢谢!那请问如何用c#连接dbf时,指定以独占方式打开dbf呢?
xuzuning 2016-12-29
  • 打赏
  • 举报
回复
pack 需要用独占方式打开表 你之前的 delete from his_contract where ..... 是共享方式打开的

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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