sqltxt = "select top @pagesize * from article where cid=@cid";
OleDbParameter[] parms = {
new OleDbParameter("@pagesize", OleDbType.Integer),
new OleDbParameter("@cid", OleDbType.Integer)};这里select top加入了变量就报错“SELECT 子句中包含一个保留字、拼写错误或丢失的参数,或标点符号不正确。”
报的这个错不是pagesize跟关键字冲突,我改成别的也一样报错。
网上查了下,好像SqlServer里可以加(@pagesize)括号解决,但我这个是Access不行,依然报错
只要我把@pagesize随便换成数字就可以正常运行。
有什么解决方法吗?
要不然只能用字符串连接了~
OleDbParameter[] parms = {
new OleDbParameter("@pagesize", OleDbType.Integer),
new OleDbParameter("@cid", OleDbType.Integer)};这里select top加入了变量就报错“SELECT 子句中包含一个保留字、拼写错误或丢失的参数,或标点符号不正确。”
报的这个错不是pagesize跟关键字冲突,我改成别的也一样报错。
网上查了下,好像SqlServer里可以加(@pagesize)括号解决,但我这个是Access不行,依然报错
只要我把@pagesize随便换成数字就可以正常运行。
有什么解决方法吗?
要不然只能用字符串连接了~
sqltxt = "select top "+pagesize+" * from article where cid=@cid";
OleDbParameter[] parms = {
new OleDbParameter("@cid", OleDbType.Integer)};改成这样吧。。
拼接SQL语句后再执行