protected void Page_Load(object sender, EventArgs e)
{
DataTable dsTable; if (!IsPostBack)
{
string sql = "select BookID,BookName from tb_BookInfo";
dsTable = FillDt(sql);
// DataRow row = dsTable.NewRow();
foreach (DataRow objRow in dsTable.Rows)
{
objRow["BookID"] = dsTable.Rows[0][0].ToString();
objRow["BookName"] = dsTable.Rows[0][1].ToString();
}
GridView1.DataSource = dsTable.DefaultView;
GridView1.DataBind(); }
} protected DataTable FillDt(string sql)
{
SqlConnection con = GetConnection();
if (con.State == ConnectionState.Closed)
{
con.Open();
}
SqlCommand cmd = new SqlCommand(sql,con);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataTable dsTable = new DataTable();
adapter.Fill(dsTable);
return dsTable; }
protected SqlConnection GetConnection()
{
string myStr = ConfigurationManager.AppSettings["ConnectionString"].ToString();
SqlConnection con = new SqlConnection(myStr);
return con;
}数据库有四条不同的记录,然后结果的页面是四行相同的记录。哪里错了?foreach那里不是遍历dsTable的每一行,然后将相应的数据导入到新建的每一行里么
{
objRow["BookID"] = dsTable.Rows[0][0].ToString();
objRow["BookName"] = dsTable.Rows[0][1].ToString();
}
注释掉
{
objRow["BookID"] = dsTable.Rows[0][0].ToString();
objRow["BookName"] = dsTable.Rows[0][1].ToString();
}
就是插入了dsTable.Rows。Count条相同记录!
{DataRow row = dsTable.NewRow();
row ["BookID"] = dsTable.Rows[0][0].ToString();
row ["BookName"] = dsTable.Rows[0][1].ToString();dsTable.Rows.Add(row);
}