读取数据库的问题~~~

三千烦恼丝 2010-09-26 11:43:50
public Common.DBConn dbConn = new Common.DBConn();
private void LoadStrategy()
{
string sql1 = "select * from Strategy";
SqlCommand cmd1 = new SqlCommand(sql1, dbConn.conn);
dbConn.Open();
SqlDataReader dr1 = cmd1.ExecuteReader();
string str = "";
if(dr1.Read())
{
请问可以再这里添加代码使str得到Strategy的所有行吗?如何写?谢谢
}
label.text= str;
dr1.Close();
dbConn.Close();
}
或者可以告诉我如何利用循环得到表里的所有行吗??

...全文
91 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyq11 2010-09-26
  • 打赏
  • 举报
回复
SqlCommand cmd1 = new SqlCommand(sql1, dbConn.conn);
dbConn.Open();
SqlDataReader dr1 = cmd1.ExecuteReader();
string str = "";
while(dr1.Read())
{
str+=dr["id"].ToString()+",";
}
label.text= str;
tourstar 2010-09-26
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 greenery 的回复:]
if(dr1.Read()) 这样只取到一行
对于datareader,要用 while(dr1.Read())
[/Quote]+
greenery 2010-09-26
  • 打赏
  • 举报
回复
if(dr1.Read()) 这样只取到一行
对于datareader,要用 while(dr1.Read())
secondonsite 2010-09-26
  • 打赏
  • 举报
回复
你可以把Strategy读到前台的DataTable里,然后用for(){for ()
{}}逐行逐列地读出DataTable[i][j].ToString() +=到str里即可。
东莞寻香苑 2010-09-26
  • 打赏
  • 举报
回复
if(dr1.Read())
{
请问可以再这里添加代码使str得到Strategy的所有行吗?如何写?谢谢
}
这里错了:
while(dr1.Read())
{
//这里每进入一次就相当于一行
//dr1["字段名称1"]
//dr1["字段名称1"]
}//循环完所有行

这样
wj0728 2010-09-26
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 hongjiaoli 的回复:]
if(dr1.Read())
{
str = dr1["字段名称1"].ToString();
str += dr1["字段名称2"].ToString();
//依次类推。。。。
}
[/Quote]

正解
hongjiaoli 2010-09-26
  • 打赏
  • 举报
回复
if(dr1.Read())
{
str = dr1["字段名称1"].ToString();
str += dr1["字段名称2"].ToString();
//依次类推。。。。
}
qingYun1029 2010-09-26
  • 打赏
  • 举报
回复
可以...

利用StringBuilder类的Append()方法就好了...
我要吃饭去了....

但愿能马上解决...

110,556

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧