标题:为什么数据库读取了两次?(已解决)
只看楼主
chaojimali
Rank: 1
等 级:新手上路
帖 子:98
专家分:0
注 册:2006-4-25
 问题点数:0 回复次数:14 
为什么数据库读取了两次?(已解决)

我采用了<select>onchange()事件,触发动态创建table,在创建table的时候为什么从数据库读取了两遍数据呢
代码如下:
protected void articleType_SelectedIndexChanged(object sender, System.EventArgs e)
{
SqlConnection conn1 = new SqlConnection(ConfigurationSettings.AppSettings["connstring"]);
conn1.Open();
string articleTypeId = this.articleType.SelectedValue;
SqlCommand articleCmd1 = new SqlCommand("select * from Article where Type="+articleTypeId,conn1);
SqlDataReader articleSdr1 = articleCmd1.ExecuteReader();
while(articleSdr1.Read())
{
TableRow r = new TableRow();
TableCell c1 = new TableCell();
c1.Controls.Add(new LiteralControl(articleSdr1[1].ToString()));
r.Cells.Add(c1);
TableCell c2 = new TableCell();
c2.Controls.Add(new LiteralControl("<input type='radio' value='"+articleSdr1[0].ToString()+"'> "));
r.Cells.Add(c2);
articleTable.Rows.Add(r);

}

}

[此贴子已经被作者于2007-1-10 14:16:57编辑过]

搜索更多相关主题的帖子: 数据库 table SqlCommand articleType select 
2007-01-09 17:06
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
得分:0 
什么读取了两遍??

飘过~~
2007-01-09 17:50
chaojimali
Rank: 1
等 级:新手上路
帖 子:98
专家分:0
注 册:2006-4-25
得分:0 
就是把数据库的读取出来的内容显示了两遍

2007-01-09 18:47
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
得分:0 

其实我不明白你为什么要把绑定写到SelectedIndexChanged事件里面..


飘过~~
2007-01-10 09:08
chaojimali
Rank: 1
等 级:新手上路
帖 子:98
专家分:0
注 册:2006-4-25
得分:0 

我是新手 对.net还不是很熟悉 对于这样的效果我还不是很清楚怎样做最好
这个功能就是根据一个文章类型的下拉菜单,选择一个类型,下面就会出现该类型对应的文章,并且要带单选按钮便于选择
请版主指点 谢谢


2007-01-10 09:20
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
得分:0 
那你用DataAdapter和DataSet试试.

飘过~~
2007-01-10 09:28
chaojimali
Rank: 1
等 级:新手上路
帖 子:98
专家分:0
注 册:2006-4-25
得分:0 

这样也是内容显示了两遍 为什么呢?版主一定要帮帮我啊
protected void articleType_SelectedIndexChanged(object sender, System.EventArgs e)
{
SqlConnection conn1 = new SqlConnection(ConfigurationSettings.AppSettings["connstring"]);
conn1.Open();
string articleTypeId = this.articleType.SelectedValue;
SqlDataAdapter articleCmd1 = new SqlDataAdapter("select * from Article where Article_Type="+articleTypeId,conn1);
DataSet ds = new DataSet();
articleCmd1.Fill(ds,"Article");
foreach(DataRow Article in ds.Tables[ "Article" ].Rows)
{
TableRow articleR = new TableRow();
TableCell articleC = new TableCell();
articleC.Controls.Add(new LiteralControl(Article["Article_Title"]+"<br>"+Article["Article_Content"]));
articleR.Cells.Add(articleC);
TableCell articleC2 = new TableCell();
articleC2.Controls.Add(new LiteralControl("<input type='radio' value='"+Article["Article_Id"]+"'> "));
articleR.Cells.Add(articleC2);
articleTable.Rows.Add(articleR);

}

}


2007-01-10 09:44
chaojimali
Rank: 1
等 级:新手上路
帖 子:98
专家分:0
注 册:2006-4-25
得分:0 
如果我用RadioButtonList实现就不会重复 一用表格就会重复
是我表格这样用不对吗?

2007-01-10 09:45
summoner
Rank: 6Rank: 6
等 级:贵宾
威 望:20
帖 子:1622
专家分:0
注 册:2005-3-3
得分:0 
把page_load事件贴上来看看

[URL=javascript:window.close();e=new Enumerator(window.opener.document.images);for(;!e.atEnd();e.moveNext()){e.item().src=\'http://blog./UploadFiles/2007-1/117175967.gif\';}]其疾如風、其徐如林、侵掠如火、不動如山、難知如陰、動如雷震[/URL]
2007-01-10 09:48
chaojimali
Rank: 1
等 级:新手上路
帖 子:98
专家分:0
注 册:2006-4-25
得分:0 

private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
if(!this.IsPostBack)
{
SqlConnection conn = new SqlConnection(ConfigurationSettings.AppSettings["connstring"]);
conn.Open();

//查询文章类型
SqlCommand articleTypeCmd = new SqlCommand("select * from ArticleType Order By Type_Id",conn);
SqlDataReader articleTypeSdr = articleTypeCmd.ExecuteReader();
articleType.DataSource = articleTypeSdr;
articleType.DataTextField ="Type_Name" ;
articleType.DataValueField="Type_Id";
articleType.DataBind();
articleTypeSdr.Close();

//查询文章类型所对应的文章
SqlCommand articleCmd = new SqlCommand("select * from Article where Article_Type="+this.articleType.SelectedValue,conn);
SqlDataReader articleSdr = articleCmd.ExecuteReader();
while(articleSdr.Read())
{
TableRow r = new TableRow();
TableCell c = new TableCell();
c.Controls.Add(new LiteralControl("<input name='articleId' type='radio' value='"+articleSdr[0]+"'> "+articleSdr[1].ToString()));
r.Cells.Add(c);
articleTable.Rows.Add(r);
}
articleSdr.Close();

}
}


2007-01-10 09:52



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-115093-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.102122 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved