日期:2014-05-17  浏览次数:20404 次

vs2005数据集向vs2008数据集移植,TableAdapter有异常
以前在vs2005下开发的时候,数据集都没有问题,现在由于需要在vs2008下做开发
将数据集从vs2005移植到vs2008
现在出现两种怪现象:
1.以前在vs2005中TableAdapter可以这样写
select * from table1 where username like '%'||:username||'%'

但是现在在vs2008下报错:
“|”附近的 WHERE 子句错误。
无法分析查询文本。
将上面语句concat一下又可以
select * from table1 where username like concat(concat('%',:username) ,'%')

2.以前在vs2005下开发,where条件中带有A.SBH = H.SBH (+) AND A.SBH = I.SBH (+)是可以的
现在在vs2008下,又报错:

“(”附近的 WHERE 子句错误。
无法分析查询文本。

把"(+)"去掉就可以

vs2008作为vs2005的升级版本,出现以上现象不知道是什么原因




------解决方案--------------------
VS2008打开2005项目时候会出现一个程序转换对话框来进行低版本向高版本的转换,不知道这样行不行?楼主是不是直接拷贝的2005项目的数据集到2008项目文件夹下面的。
------解决方案--------------------
用2008转2005的时候是要进行版本转换的

------解决方案--------------------
可能是控件问题
在Vs2008中可使用TableAdapterManager 。
------解决方案--------------------
楼主的SQL语句在数据库中测试正常么?如果正常的话可能是控件的问题了。