如何用 SqlDataReader Read()查询结果,赋值给多个变量?
stringgggsql="SELECTTOP3[biaoTi],[id]FROM[souYad]ORDERBY[id]DESC";SqlConnectionConn=n...
string gggsql = "SELECT TOP 3 [biaoTi], [id] FROM [souYad] ORDER BY [id] DESC";
SqlConnection Conn = new SqlConnectio(ConfigurationManager.ConnectionStrings["dbh205294ConnectionString"].ConnectionString);
Conn.Open();
SqlCommand comm = new SqlCommand(gggsql, Conn);
SqlDataReader read = comm.ExecuteReader();
while (read.Read())
{
Label1.Text += read["biaoTi"].ToString();
//这里的Label1.Text的值是3个值的相加。
请问如何把这三个值分别赋值给Label1.Text、Label2.Text、Label3.Text
} 展开
SqlConnection Conn = new SqlConnectio(ConfigurationManager.ConnectionStrings["dbh205294ConnectionString"].ConnectionString);
Conn.Open();
SqlCommand comm = new SqlCommand(gggsql, Conn);
SqlDataReader read = comm.ExecuteReader();
while (read.Read())
{
Label1.Text += read["biaoTi"].ToString();
//这里的Label1.Text的值是3个值的相加。
请问如何把这三个值分别赋值给Label1.Text、Label2.Text、Label3.Text
} 展开
4个回答
展开全部
方法如下:
(1)定义struct或class。字段或属性与表字段对应;
(2)生成一个步骤(1)定义的struct或class实例, 调用 SqlDataReader.Read读取一条记录后,将记录各个字段的值赋给对应的字段或属性;
(3)如果程序要获取多条记录,可将步骤(2)中的struct或对象实例保存到集合中;
-------------------------------------------------------------------------------------
举例如下:
(1)数据库中的表结构如下
表中的记录
(2)实现代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Data;
using System.Data.SqlClient;
namespace ConsoleApplication1
{
/// <summary>
/// DeviceEntity与数据表字段对应
/// </summary>
struct DeviceEntity
{
public string Id;
public string Name;
public int Heartbeat;
}
class Program
{
static void Main(string[] args)
{
const string connectionString =
"Data Source=(Local);Initial Catalog=PM25Db;Integrated Security=True";
SqlConnection con = new SqlConnection(connectionString);
SqlCommand command = con.CreateCommand();
command.CommandText = "Select * From Device";
con.Open();
// List集合用于存放所有读出的记录
List<DeviceEntity> records = new List<DeviceEntity>();
// 读数据库表
SqlDataReader rd = command.ExecuteReader();
while (rd.Read())
{
// 创建一个DeviceEntity
DeviceEntity devInfo;
// 将读出的字段依次赋予 devInfo对应的字段
devInfo.Id = rd[0].ToString().Trim();
devInfo.Name = rd[1].ToString().Trim();
devInfo.Heartbeat = int.Parse(rd[3].ToString());
// 添加到集合
records.Add(devInfo);
}
// 关闭数据库连接
rd.Close();
con.Close();
// 显示读出的内容
foreach (DeviceEntity d in records)
{
Console.WriteLine("Id={0}, Name={1}, Heartbeat={2}",
d.Id,
d.Name,
d.Heartbeat);
}
}
}
}
(3)运行结果
展开全部
Conn.Open()
Me.sqlDA = New SqlDataAdapter(gggsql, Conn)
Me.sqlDA.Fill(dtable)
sqlDA.Fill(dt, "mem")
sqlCon.Close()
然后就可以用dt.tables("mem").rows(i).item(j)选择查询出来的值
不要用ExecuteReader
Me.sqlDA = New SqlDataAdapter(gggsql, Conn)
Me.sqlDA.Fill(dtable)
sqlDA.Fill(dt, "mem")
sqlCon.Close()
然后就可以用dt.tables("mem").rows(i).item(j)选择查询出来的值
不要用ExecuteReader
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
SqlConnection Conn = new SqlConnectio(ConfigurationManager.ConnectionStrings["dbh205294ConnectionString"].ConnectionString);
Conn.Open();
SqlCommand comm = new SqlCommand(gggsql, Conn);
SqlDataReader read = comm.ExecuteReader();
int i=0;
Label[] label=new Label[];
while(read.Read())
{
if(i==0)
{
Label1.Text = read["biaoTi"].ToString();
}
if(i==1)
{
Label2.Text = read["biaoTi"].ToString();
}
else
{
Label3.Text = read["biaoTi"].ToString();
}
i++;
}
dr.close();
Conn.Open();
SqlCommand comm = new SqlCommand(gggsql, Conn);
SqlDataReader read = comm.ExecuteReader();
int i=0;
Label[] label=new Label[];
while(read.Read())
{
if(i==0)
{
Label1.Text = read["biaoTi"].ToString();
}
if(i==1)
{
Label2.Text = read["biaoTi"].ToString();
}
else
{
Label3.Text = read["biaoTi"].ToString();
}
i++;
}
dr.close();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
read.Read();
Label1.Text = read["biaoTi"].ToString();
read.Read();
Label2.Text = read["biaoTi"].ToString();
read.Read();
Label3.Text = read["biaoTi"].ToString();
Label1.Text = read["biaoTi"].ToString();
read.Read();
Label2.Text = read["biaoTi"].ToString();
read.Read();
Label3.Text = read["biaoTi"].ToString();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询