asp.net问题。datatable对象如何绑定数据库中的一个表的内容?
我想从数据库中取出一个表的数据绑定到datatable的对象dt中。然后从前台页面中用foreach编历输出。我的做法如下:SqlCommandmyCommand=new...
我想从数据库中取出一个表的数据绑定到datatable的对象dt中。然后从前台页面中用foreach编历输出。我的做法如下:
SqlCommand myCommand = new SqlCommand("select name from pinglun", myConnection);
SqlDataReader dr = myCommand.ExecuteReader();
DataTable dt = new DataTable();
dt.Columns.Add("id",typeof(SqlInt64));
dt.Columns["id"].AutoIncrement = true;
DataColumn [] key=new DataColumn [1];
key[0]=dt.Columns["id"];
dt.PrimaryKey = key;
dt.Columns.Add("姓名",typeof (SqlString));
while (dr.Read())
{
DataRow row = dt.NewRow();
row["姓名"] = dr.GetString(1);
dt.Rows.Add(row);
}
myConnection.Close();
dr.Close();
用Read()方法当记录是空值时读取会出错。还有其他更好的方法实现从数据库取出数据绑定到datatable对象中来吗?用DataSet比SqlDataReader好吗? 展开
SqlCommand myCommand = new SqlCommand("select name from pinglun", myConnection);
SqlDataReader dr = myCommand.ExecuteReader();
DataTable dt = new DataTable();
dt.Columns.Add("id",typeof(SqlInt64));
dt.Columns["id"].AutoIncrement = true;
DataColumn [] key=new DataColumn [1];
key[0]=dt.Columns["id"];
dt.PrimaryKey = key;
dt.Columns.Add("姓名",typeof (SqlString));
while (dr.Read())
{
DataRow row = dt.NewRow();
row["姓名"] = dr.GetString(1);
dt.Rows.Add(row);
}
myConnection.Close();
dr.Close();
用Read()方法当记录是空值时读取会出错。还有其他更好的方法实现从数据库取出数据绑定到datatable对象中来吗?用DataSet比SqlDataReader好吗? 展开
3个回答
展开全部
用Read()的话你要判断是否为Null 可以用fi(DbNull.Value!=reader["列名"])判断
其实也可以直接用DataSet绑定reaper的数据源DataSource
其实也可以直接用DataSet绑定reaper的数据源DataSource
展开全部
using using System.Web.UI.HtmlControls;在你的table的位置放一个PlaceHolder然后,在查询按钮的代码里写:string 条件=" name='"+TextBox1.Text+"' and ....."; //用你的textbox构造起来的sql查询条件string sql="select * from 表 where "+ 条件; //查询的sql语句2842DataTable dt = new DataTable();SqlConnection conn = new SqlConnection("数据库连接字符串");conn.Open();SqlDataAdapter da = new SqlDataAdapter(sql, conn); ;da.Fill(dt);conn.Close();Table t=new Table();for (int i = 0; i < dt.Rows.Count; i++){ TableRow r = new TableRow(); TableCell c = new TableCell(); c.Text = dt.Rows[i][0].ToString(); r.Cells.Add(c); t.Rows.Add(r);}PlaceHolder1.Controls.Add(t);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询