string sconn = "uid=sa;pwd=;database=tu;server=";
        string keyword = Request["keyword"];
        string searchword = Request["searchword"];
        if (string.IsNullOrEmpty(keyword) || string.IsNullOrEmpty(searchword))
        {
            Response.Redirect("Default.aspx");
        }
        else
        {
            string sql = "select * from TABLE where " + keyword + " like %&" + searchword + "&%";
            SqlConnection conn = new SqlConnection(sconn);
            conn.Open();
            SqlDataAdapter da = new SqlDataAdapter(sql, conn);
            DataSet ds = new DataSet();
            da.TableMappings.Add("TABLE", "TABLE");
            da.TableMappings[0].ColumnMappings.Add("TITLE", "TITLE");
            da.TableMappings[0].ColumnMappings.Add("AUTHER", "AUTHER");
            da.TableMappings[0].ColumnMappings.Add("ISBS", "ISBS");
            da.TableMappings[0].ColumnMappings.Add("LECTURER", "LECTURER");
            da.TableMappings[0].ColumnMappings.Add("UNITCODE", "UNITCODE");
            da.TableMappings[0].ColumnMappings.Add("COPY", "COPY");
            da.Fill(ds);
            DataGrid1.DataSource = ds.Tables["TABLE"].DefaultView;
            ViewState["Row"] = ds.Tables["TABLE"].DefaultView.Count;
            DataGrid1.DataBind();
        }

解决方案 »

  1.   

    一个table表
    6个字段,全部用datagrid显示
      

  2.   

    要我说错误
    就是如果要显示全部字段
    直接  DataGrid1.DataSource = ds.Tables["TABLE"].DefaultView
    不要 mapping
    设成自动生成列
      

  3.   

    string sql = "select * from TABLE where " + keyword + " like %&" + searchword + "&%";
                SqlConnection conn = new SqlConnection(sconn);
                conn.Open();
                SqlDataAdapter da = new SqlDataAdapter(sql, conn);
                DataSet ds = new DataSet();
                da.Fill(ds);
                DataGrid1.DataSource = ds.Tables["Table"].DefaultView;
                ViewState["Row"] = ds.Tables["Table"].DefaultView.Count;
                DataGrid1.DataBind();
    还是错的
      

  4.   

    错误信息
    {"在关键字 'TABLE' 附近有语法错误。"}
      

  5.   

    Request["keyword"]的使用前应加判断是否为NULL,不为空才可以进行下一步工作,对于SQL应该不会错;我也遇到类似问题,判断不为空即可!!!仅供参考!
      

  6.   

    string sconn = "uid=sa;pwd=;database=tu;server=";
    to:
    string sconn = "uid=sa;pwd=;database=tu;server=.";
      

  7.   

    string sql = "select * from TABLE where " + keyword + " like %&" + searchword + "&%";
    To:
    string sql = "select * from TABLE where " + keyword + " like '%" + searchword + "%'";注意 % 那里的变化
      

  8.   


    string sql = "select * from TABLE where " + keyword + " like %&" + searchword + "&%";在此之前要判断keyword 和 searchword 是否为空
    否则报错 {"在关键字 'TABLE' 附近有语法错误。"}
      

  9.   

    LIKE 的用法是 LIKE '%ABC%'
    请楼住见我上上楼回帖
      

  10.   

    string sql = "select * from dbo.[TABLE] where " + keyword + " like '%" + searchword + "%'";
    另外,预先检查一下几个传入的字符串是否为空,是否非法等
      

  11.   

    搞定了,两个错误
    一个table关键字
    一个是like用法不对