sqlce下用sql语句添加数据

流浪孩儿 2008-08-30 12:55:18
sqlce下判断某字段的值,若不存在则添加!

比如sql语句为这样:
string excuteSQL=
@“IF NOT EXISTS (SELECT * FROM table1 WHERE number = '442') INSERT INTO table1(number)VALUES ('442')";

cmd.CommandText = excuteSQL;
cmd.ExecuteNonQuery();

为什么执行出错呢?

在SQL查询分析器里执行时正常,可放到程序里却出错了!
请大家帮忙看看啊!


错误信息为:
Error Code:-2147217900
Message:[1,1,IF]
Native Error:25501
...全文
190 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
rodking 2008-09-02
  • 打赏
  • 举报
回复
SqlCe只支持简单SQL语句,根据“SELECT * FROM table1 WHERE number = '442'”的查询结果来决定执行下条SQL语句,也就是分开作为两次执行
流浪孩儿 2008-09-02
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 alonepb 的回复:]
应该不支持这种写法吧
[/Quote]

那怎么写才支持呢?谢谢!
alonepb 2008-09-02
  • 打赏
  • 举报
回复
应该不支持这种写法吧
流浪孩儿 2008-08-31
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 qiujsh 的回复:]
分两次执行可以吗,SQL CE不知道能否支持这么复杂的语句,我都是分两句执行
[/Quote]

怎么个分两句执行啊?
qiujsh 2008-08-31
  • 打赏
  • 举报
回复
分两次执行可以吗,SQL CE不知道能否支持这么复杂的语句,我都是分两句执行
流浪孩儿 2008-08-30
  • 打赏
  • 举报
回复
上面说错了,我的设备不是WinMobile6系统的,是WINCE5.0
流浪孩儿 2008-08-30
  • 打赏
  • 举报
回复
怎么没人回贴呢?

我试过了,上面的代码,在XP系统下,就好使

在WinMobil6设备上就出错!

我怀疑不是WINCE操作系统不支持,就是SQLCE和SQL2000支持的SQL语句的格式不同!


可,在PDA上要如何判断数据不存在就添加的目的呢?

请高手帮忙啊!

分不够,可以再加的啊!

7,655

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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