问题描述
代码如下:privatevoidBind_rptList(intTopage){intCurrentPage=Topage;intPageSize=5;intPageCount;intRecordCount;stringPageSQL;StringDataTable="Contents";stringDataField="ID";//stringDataFields="ID,UserName,Face,Sex,Ip,QQ,HomePage,Email,IsHidden,AddTime,IsReplyed,ReplyTime,ReplyContent";stringDataOrders="IDDesc";SqlConnectionconn=GuestBook.CreateConnection();conn.Open();SqlCommandcmd=newSqlCommand("SelectCount("+DataField+")From"+DataTable,conn);RecordCount=Convert.ToInt32(cmd.ExecuteScalar());//此行标明ID无效if((RecordCount%PageSize)!=0){PageCount=RecordCount/PageSize+1;}else{PageCount=RecordCount/PageSize;}if(Topage>PageCount){CurrentPage=PageCount;}if(CurrentPage<=1){PageSQL="SelectTop"+PageSize+""+DataField+"From"+DataTable+"OrderBy"+DataOrders;}else{PageSQL="SelectTop"+PageSize+""+DataField+"From"+DataTable+"Where"+DataField+"Notin(SelectTop"+PageSize*(CurrentPage-1)+""+DataField+"From"+DataTable+"OrderBy"+DataOrders+")OrderBy"+DataOrders;}
解决方案
解决方案二:
那你的数据库中表中有ID字段吗?如果求数量也可以写成Count(1)或Count(*)
解决方案三:
SelectCount("+DataField+")From"+DataTable请强烈的注意下,单词之间应该有的空格
解决方案四:
数据库中ID字段是一张表的主码。空格我仔细检查了,还是不对。
解决方案五:
断点跟踪代码查看在代码里面具体的报错行是什么
解决方案六:
打个断点,把整个Sql语句粘贴到SqlServer环境下面运行就知道什么原因了
解决方案七:
SQL语句运行到服务器上,没有错误的。