问题描述
下面这样正常:strComm="selecttop10*fromregtablewhere(s_zhong='未中奖'ors_zhong=''ors_zhongisnull)ands_time>=@timeFromands_time<=@timeTo";System.Data.OleDb.OleDbParameter[]paras=newSystem.Data.OleDb.OleDbParameter[2];paras[0]=newSystem.Data.OleDb.OleDbParameter("@timeFrom",dateFrom);paras[1]=newSystem.Data.OleDb.OleDbParameter("@timeTo",dateTo);returnSqlHelper.OleDbDataSetAdapter(strConn,CommandType.Text,strComm,paras);下面这样就有异常(SELECT子句中包含一个保留字、拼写错误或丢失的参数,或标点符号不正确)strComm="selecttop@recordCount*fromregtablewhere(s_zhong='未中奖'ors_zhong=''ors_zhongisnull)ands_time>=@timeFromands_time<=@timeToorderbyRND(-(id)*@ramNum)";System.Data.OleDb.OleDbParameter[]paras=newSystem.Data.OleDb.OleDbParameter[3];paras[0]=newSystem.Data.OleDb.OleDbParameter("@recordCount",recordCount);paras[1]=newSystem.Data.OleDb.OleDbParameter("@timeFrom",dateFrom);paras[2]=newSystem.Data.OleDb.OleDbParameter("@timeTo",dateTo);returnSqlHelper.OleDbDataSetAdapter(strConn,CommandType.Text,strComm,paras);为什么多加了一个参数就有问题了??大侠请指教,小弟多谢了!!!
解决方案
解决方案二:
top@recordCount=>top后面不能跟变量.可直接拼接strComm="selecttop"+recordCount+"..
解决方案三:
慕白兄正解
解决方案四:
少了一个双引号
解决方案五:
1楼的正解。
解决方案六:
2005支持2000就按照1楼说的吧
解决方案七:
答案鉴定完毕!
解决方案八:
一楼说的正确,学习..
解决方案九:
1楼正解
解决方案十:
'"+recordCount+"'