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();
}
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();
}
6个字段,全部用datagrid显示
就是如果要显示全部字段
直接 DataGrid1.DataSource = ds.Tables["TABLE"].DefaultView
不要 mapping
设成自动生成列
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();
还是错的
{"在关键字 'TABLE' 附近有语法错误。"}
to:
string sconn = "uid=sa;pwd=;database=tu;server=.";
To:
string sql = "select * from TABLE where " + keyword + " like '%" + searchword + "%'";注意 % 那里的变化
string sql = "select * from TABLE where " + keyword + " like %&" + searchword + "&%";在此之前要判断keyword 和 searchword 是否为空
否则报错 {"在关键字 'TABLE' 附近有语法错误。"}
请楼住见我上上楼回帖
另外,预先检查一下几个传入的字符串是否为空,是否非法等
一个table关键字
一个是like用法不对