string sqlStr;
sqlStr = "select * from TBL_AllBookInfo where BookTM='" + BookTM + "'";
DataBase bookDB = new DataBase();
SqlConnection conn = bookDB.getDbConnection();
conn.Open();
SqlCommand cmd = new SqlCommand(sqlStr, conn);
SqlDataReader dr = cmd.ExecuteReader();
DataTable TBL_AllBookInfo = dr.GetSchemaTable(); if (dr.HasRows == true)
{
//如果已有记录大于1,显示DataGird
if (TBL_AllBookInfo.Rows.Count > 1)
{
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = new SqlCommand(sqlStr,conn);
dr.Close();
da.Fill(ds, "TBL_AllBookInfo");
dataGrid_Book.DataSource = ds.Tables["TBL_AllBookInfo"];
我想用datagird显示查询出来的数据,用sqlStr = "select * from TBL_AllBookInfo where BookTM='" + BookTM + "'";同样条件下用上面这条语句查询的时候没有问题,但是我只想显示某些字段的时候,如sqlStr = "select BookTM,ISBN from TBL_AllBookInfo where BookTM='" + BookTM + "'";这条语句的时候就不行,不能显示。
哪位知道是怎么回事?
DataSet ds = new DataSet();
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = new SqlCommand(sqlStr,conn);
dr.Close();
da.Fill(ds, "TBL_AllBookInfo");
dataGrid_Book.DataSource = ds.Tables["TBL_AllBookInfo"];
============
上面整段改为
dataGrid_Book.DataSource = TBL_AllBookInfo ;
dataGrid_Book.DataBind();
sqlStr = "select * from TBL_AllBookInfo where BookTM='" + BookTM + "'";
执行的时候有显示,但是我用下面的语句的时候没有显示
sqlStr = "select ISBN from TBL_AllBookInfo where BookTM='" + BookTM + "'";不是很懂...
"select ISBN,BookName,Writer,Language from TBL_AllBookInfo where BookTM='" + BookTM + "'";我发现,只要显示的字段是一个以上,就没有问题,如果我只显示一个字段,就怎么也显示不出来。怪事,哪位给分析分析?