try { string connstr = @"server=XXXX;database=YYYY;Trusted_Connection=true"; //string sSql = "SELECT * FROM tabYYY"; using (SqlConnection conn = new SqlConnection(connstr)) { conn.Open(); using (SqlCommand cmd = new SqlCommand("SELECT * FROM tabYYY", conn)) { using (SqlDataReader dr = cmd.ExecuteReader()) { if (dr.HasRows) { System.Text.StringBuilder strb = new StringBuilder(); for (int i = 0; i < dr.FieldCount; i++) { strb.Append(string.Format("{0}+", dr.GetName(i))); } label1.Text = strb.ToString();
try
{
string connstr = @"server=XXXX;database=YYYY;Trusted_Connection=true";
//string sSql = "SELECT * FROM tabYYY";
using (SqlConnection conn = new SqlConnection(connstr))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand("SELECT * FROM tabYYY", conn))
{ using (SqlDataReader dr = cmd.ExecuteReader())
{
if (dr.HasRows)
{
System.Text.StringBuilder strb = new StringBuilder();
for (int i = 0; i < dr.FieldCount; i++)
{
strb.Append(string.Format("{0}+", dr.GetName(i)));
}
label1.Text = strb.ToString();
}
}
}
}
}
catch (Exception s)
{
label1.Text = s.ToString();
}
具体是这样,应该怎么改呢.
{
strb.Append(string.Format("{0}+", dr.GetValue(i)));
}
同样的代码在ASP.NET网页中就可以正常运行并且得出结果,Response.Write()就可以在页面上现实查询结果,但是挪到C# FORM上想在LABEL中显示就是那个错误
if (dr.HasRows)只是查有没有行而已,
dr.GetName(i)只是当前行的字段i的数据,
没看你的读的操作呀
for (int i = 0; i < dr.FieldCount; i++)
{
strb.Append(string.Format("{0}+", dr.GetName(i)));
dr.read() ;
}
不知道这样行不行
没试过
{
...
}