我想用一个for循环读取数据库中的数据,经常用控件,现在居然都忘了怎么写了,半天脑子都转不过来麻烦各位给个答案,非常感谢,例如:(表明:message 内有字段——mid、mName、mre)我需要把数据读出来用一个lable接收!显示前5条
解决方案 »
- 急!哪里有csdn论坛的模版下载
- javascript 新闻滚动
- https服务器设置的问题?
- 150分求助,帮我改下以下CSS样式,希望能同时兼容IE6 IE7 FF浏览器的
- WindowsApplication签名中的密钥的问题,请高手来看看~~~~
- 请教在线消息提示问题
- 如何使用ASP.NET来调用MATLAB,并且进行计算操作
- vs.net创建和打开项目时报错
- 那位大哥看过Wrox公司的(ASP.NET Web 站点高级编程——提出-设计-解决)原代码调试问题???
- 各位大哥,帮小弟解决一下这个问题。给50分
- 我使用水晶报表后,在水晶报表的右侧有一个关于每一种颜色的说明,如何把里面的说明替换成自己想要的文字啊?
- 如何取到当前AD(活动目录)用户属于哪个AD组?
{
//
}
这样
foreach(DataRow row in dt.Rows)
{
this.Lable.Text+=row["mid"].ToString()+row["mName"].ToString()+row["mRe"].ToString();
}
读出来数据的话,楼上的是答案
public void GetData()
{
SqlConnection con = new SqlConnection("server=(local); user=sa; pwd=pwd; database =dbName");
try
{
string sql = "select * from TestTable";
if (con.State != ConnectionState.Open)
con.Open();
IDbCommand cmd = con.CreateCommand();
cmd.CommandText = sql;
IDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
Label1.Text = reader["mid"] + "," + reader["mname"] + "," + reader["xxx"];
} }
catch(Exception ex)
{
//log exception
}
finally
{
con.Close();
} }
for(i=0;i<ds.table[0].rows;i++)
{
lable+=ds.table[0].rows[i]["name"];
}
public static message Get()
{
string sql = "select top 5 * from message ";
SqlDataReader read =DbHelperSQL.ExecuteReader(sql);
if (read.Read())
{
message ms = new message();
ms.mid= (int)read["mid"];
ms.mname= (string)read["mname"];
ms.mre= (string)read["mre"];
read.Close();
return ms;
}
else
{
read.Close();
return null;
} }调用:message ms=Get();
this.lblmid.text=ms.mid;
this.lblname.text=ms.mname;
this.lblre.text=ms.mre;
方法:
public DataSet Get()
{
string sql = "select top 5 * from message ";
return DbHelperSQL.Query(sql);
}
DataSet ds = new DataSet();
ds = Get();
DataTable dt = new DataTable();
dt = ds.Tables[0];
for (int i = 0; i < dt.Rows.Count; i++)
{
this.lblmid.text= dt.Rows[i]["mid"].ToString() + ",";
this.lblname.text=dt.Rows[i]["mname"].ToString() + ",";
this.lblre.text=dt.Rows[i]["mre"].ToString() + ",";
}
像楼上几位的做法更好!
protected string GetValues()
{
string strSql = "select top 5 mid,mName,mre from message";
//string strOracle = "select mid,mName,mre from message where rownum <=5";
DataTable ATable = Client.GetDataTable(strSql);
StringBuilder strValue = new StringBuilder();
foreach (DataRow ARow in ATable.Rows)
{
strValue.Append("mid:");
strValue.Append(ARow["mid"].ToString());
strValue.Append(" \t ");
strValue.Append("mName:");
strValue.Append(ARow["mName"].ToString());
strValue.Append(" \t ");
strValue.Append("mre:");
strValue.Append(ARow["mre"].ToString());
strValue.Append(" \r\n ");
}
return strValue.ToString();
}
{
lbl.Text=t.mName;}
//或FindAll(delegate(T t){return t.ID>10;});
{
List<Message> list = new List<Message>();
int num = DBNull.Value;//前5条记录
StringBuilder strValue = new StringBuilder(); //值的拼接
if (list.Count >= 5)
num = 5;
else
num = list.Count; for (int i = 0; i < num; i++)
{
Message M = list[i] as Message;
strValue.Append("mid:");
strValue.Append(M.Mid);
strValue.Append(" \t ");
strValue.Append("mName:");
strValue.Append(M.MName);
strValue.Append(" \t ");
strValue.Append("mre:");
strValue.Append(M.Mre);
strValue.Append(" \r\n "); }
return strValue.ToString();
}
for (int i = 0; i < lst.Count; i++)
{
Message message= lst[i] as Message;
dr["mid"] = message.mid.ToString();
dr["mname"] = message.mname.Trim();
dr["mre"] = message.mre.Trim();
}
..............。
说的是这样吗
应该是List<Message> lst=后台得到list的方法吧 如果是上面这样 lst可能取到值麽?
dataset ds=ReadData();
if(ds!=null)
{
if(ds.tables.count>0)
{
datatable dt=ds.tables[0];
String str=string.empty;
foreach(DataRow row in dt.rows)
{
str+=row["...."].ToString()+row["....."].ToString();
str+=";";
}
str=str.substring(0,str.length-1);
}
}
label1.text=str
or
for(int j=0;j<ds.Tables[0].Rows.count;j++)
至于你说的用label接收,我不大理解,你是不是要用取到的数据中的某些字段赋值到label中?
用datareader是好
但有时候会报datareader没有关闭的错误
很麻烦
你还可以使用using关键字来做一些帮你释放资源的事 O(∩_∩)O~LZ 的问题不是特别的清楚 = = 不过前面的几位已经说的差不多了
{
sqlconnection conn....
string str="select * from message";
sqlDataAdapter da=new sqlDataAdapter(str,conn);
DataTable dt=new DataTable();
da.fill(dt);
int count=dt.rows.cout; string strShow="<div>";
for(int i=0;i<5;i++)
{
DataRow Row=dt.Rows[i];
strShow+="<div style='float:left;'>"+Row["mid"]+"</div>";
strShow+="<div style='float:left;'>"+Row["mName、mre"]+"</div>";
strShow+="<div style=''>"+Row["mre"]+"</div>";
}
strShow+="</div>";
return strShow;
}
但有时候会报datareader没有关闭的错误
很麻烦
你可以在SqlHelper.cs类中写一个关闭连接的方法closesqlconnection(),在里面判断连接的状态
if (conn.State == ConnectionState.Open)
{
conn.Close();
}
然后直接在后台代码调用该方法就可以了,不必再担心连接的关闭问题。
{
SqlConnection con = new SqlConnection("server=(local); user=sa; pwd=pwd; database =dbName");
try
{
string sql = "select * from TestTable";
if (con.State != ConnectionState.Open)
con.Open();
IDbCommand cmd = con.CreateCommand();
cmd.CommandText = sql;
IDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
Label1.Text = reader["mid"] + "," + reader["mname"] + "," + reader["xxx"];
} }
catch(Exception ex)
{
//log exception
}
finally
{
con.Close();
} }