请问C#中如何读取数据库中的一列数据,并把这列的每行数据分别赋给一个不同的文本框显示出来
SqlDataReader可以实现吗?如果可以,怎么写?如果不行,有什么别的方法可以达到同样的效果?...
SqlDataReader可以实现吗?
如果可以,怎么写?
如果不行,有什么别的方法可以达到同样的效果? 展开
如果可以,怎么写?
如果不行,有什么别的方法可以达到同样的效果? 展开
展开全部
可以的,假设你的数据库名称是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;
}
}
}
}
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);
}
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |