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好吗?
展开
 我来答
宇宙之心眼
2013-07-24 · TA获得超过623个赞
知道小有建树答主
回答量:610
采纳率:100%
帮助的人:411万
展开全部

绑定DataTable一般都是使用SqlDataAdapter

                    SqlDataAdapter ad = new SqlDataAdapter("Sql语句",conn);

                    DataTable dt = new DataTable();

                    ad.Fill(dt);
TableDI
2024-07-18 广告
作为上海悉息信息科技有限公司的一员,我们专注于提供高效的数据处理解决方案。对于多个文件表格的合并需求,我们通常采用专业的数据整合技术,确保数据的准确性和一致性。通过精确匹配表格字段和格式,我们能够快速、准确地将多个表格合并成一个,为用户提供... 点击进入详情页
本回答由TableDI提供
Baby_原來
2013-07-24 · TA获得超过3402个赞
知道大有可为答主
回答量:1535
采纳率:94%
帮助的人:492万
展开全部
用Read()的话你要判断是否为Null 可以用fi(DbNull.Value!=reader["列名"])判断
其实也可以直接用DataSet绑定reaper的数据源DataSource
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
手机用户95707
2013-07-24
知道答主
回答量:66
采纳率:0%
帮助的人:35万
展开全部
using using System.Web.UI.HtmlControls;在你的table的位置放一个PlaceHolder然后,在查询按钮的代码里写:string 条件=&quot; name=&#39;&quot;+TextBox1.Text+&quot;&#39; and .....&quot;; &#47;&#47;用你的textbox构造起来的sql查询条件string sql=&quot;select * from 表 where &quot;+ 条件; &#47;&#47;查询的sql语句2842DataTable dt = new DataTable();SqlConnection conn = new SqlConnection(&quot;数据库连接字符串&quot;);conn.Open();SqlDataAdapter da = new SqlDataAdapter(sql, conn); ;da.Fill(dt);conn.Close();Table t=new Table();for (int i = 0; i &lt; 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);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式