+ -
当前位置:首页 → 问答吧 → 帮忙看看啊!

帮忙看看啊!

时间:2011-11-04

来源:互联网

using (SqlConnection conn = new SqlConnection("server=.;database=Books;user=sa;pwd=;"))
  {

  string sql = "select top " + pagesize + " * from tb_Books where BookId not in (select top ( ("+pageindex+" -1 )* "+pagesize+") BookId from tb_Books) B";
  SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
  DataTable dt = new DataTable();
  sda.Fill(dt);
  dlBookLook.DataSource = dt;
  dlBookLook.DataBind();
  }


第 1 行: '(' 附近有语法错误。 
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.Data.SqlClient.SqlException: 第 1 行: '(' 附近有语法错误。

源错误: 


行 31: SqlDataAdapter sda = new SqlDataAdapter(sql, conn);
行 32: DataTable dt = new DataTable();
行 33: sda.Fill(dt);
行 34: dlBookLook.DataSource = dt;
行 35: dlBookLook.DataBind();
 

源文件: d:\My Documents\Visual Studio 2005\WebSites\WebSite10\BooksLooks.aspx.cs 行: 33 

作者: cbb_a   发布时间: 2011-11-04

是否SQL2000?

top ()--把括号去掉

用 top N--数字

作者: roy_88   发布时间: 2011-11-04

可以设个断点调试一下,把sql复制到数据库里看什么地方报错,再修改

作者: chuanzhang5687   发布时间: 2011-11-04

问题出在: connection 没有打开造成的错误,加一句 conn.Open(); 

string sql = "select top " + pagesize + " * from tb_Books where BookId not in (select top ( ("+pageindex+" -1 )* "+pagesize+") BookId from tb_Books) B";
这里面的pagesize 如果是整型变量,需要 pagesize.ToString() ,

代码其它地方没问题

作者: jevin8011   发布时间: 2011-11-04