请问C#中如何读取数据库中的一列数据,并把这列的每行数据分别赋给一个不同的文本框显示出来

SqlDataReader可以实现吗?如果可以,怎么写?如果不行,有什么别的方法可以达到同样的效果?... SqlDataReader可以实现吗?
如果可以,怎么写?
如果不行,有什么别的方法可以达到同样的效果?
展开
 我来答
xhughl
2011-02-26 · TA获得超过3190个赞
知道答主
回答量:79
采纳率:0%
帮助的人:59.5万
展开全部
可以的,假设你的数据库名称是DataBase,你要读取表Student的Name那一列,那么代码如下:
string conStr = "Data Source=.;Initial Catalog=DataBase;Integrated Security=True";
using (SqlConnection connection = new SqlConnection(conStr))
{
connection.Open();
using (SqlCommand cmd = connection.CreateCommand())
{
cmd.CommandText = "select Name from Student";
using (SqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
string name = reader.GetString(reader.GetOrdinal("Name"));
textbox1.Text=name;
}
}
}
}
追问
这个还是只能读取到这一列的最后一行数据
我是指如何在一个while循环里读出列中的每一条记录并赋给一个不同文本框?
如:这一列共有四行,让它的每一行数据读取后分别赋给一个不同的文本框
while(reader.Read())
{
.........;
textbox.Text1=.....;
textbox.Text2=.....;
textbox.Text3=.....;
textbox.Text4=.....;
}
追答
根据你的要求,暂时想到2个方法。 
//方法一 初始化时,建立文本框数组,然后每读取一条数据就赋值。
TextBox[] txtboxs = { textBox1, textBox2, textBox3, textBox4, textBox5, textBox6 };
int i = 0;
string conStr = "Data Source=.;Initial Catalog=DataBase;Integrated Security=True";
using (SqlConnection connection = new SqlConnection(conStr))
{
connection.Open();
using (SqlCommand cmd = connection.CreateCommand())
{
cmd.CommandText = "select Name from Student";
using (SqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
string name = reader.GetString(reader.GetOrdinal("Name"));
txtboxs[i].Text = name;
i++;
}
}
}
}
//方法二 动态创建文本框,然后添加到窗体
string conStr = "Data Source=.;Initial Catalog=DataBase;Integrated Security=True";
using (SqlConnection connection = new SqlConnection(conStr))
{
connection.Open();
using (SqlCommand cmd = connection.CreateCommand())
{
cmd.CommandText = "select Name from Student";
using (SqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
string name = reader.GetString(reader.GetOrdinal("Name"));
TextBox txtName = new TextBox();
txtName.Text = name;
this.Controls.Add(txtName);
}
}
}
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式