Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从数据库中检索多行_C#_Mysql_Database - Fatal编程技术网

C# 从数据库中检索多行

C# 从数据库中检索多行,c#,mysql,database,C#,Mysql,Database,我有一个指定的集合表,其中有两行。我想从1和3这两行中检索set_编号。我的代码如下,现在它检索3和3,这是不正确的。有人能帮我吗 MySqlCommand SelectCommand = new MySqlCommand("Select set_number from assignedset where patient_nric='" + NRIC + "'", myConn); MySqlDataReader myReader; myConn.Open(); myReader = Sele

我有一个指定的集合表,其中有两行。我想从1和3这两行中检索set_编号。我的代码如下,现在它检索3和3,这是不正确的。有人能帮我吗

MySqlCommand SelectCommand = new MySqlCommand("Select set_number from assignedset where patient_nric='" + NRIC + "'", myConn);

MySqlDataReader myReader;
myConn.Open();
myReader = SelectCommand.ExecuteReader();
int count = 0;
while (myReader.Read())
{
  count = count + 1;
}
if (count > 0)
{
  string SetName = myReader.GetString("set_number");
  //int[] numbers;
  int s = 1;
  while (s <= count)
  {
    MessageBox.Show(SetName);
    s++;
  }
MySqlCommand SelectCommand=new MySqlCommand(“从分配的集合中选择集合号,其中patient_nric='”+nric+“'”,myConn);
MySqlDataReader;
myConn.Open();
myReader=SelectCommand.ExecuteReader();
整数计数=0;
while(myReader.Read())
{
计数=计数+1;
}
如果(计数>0)
{
字符串SetName=myReader.GetString(“set_number”);
//int[]数字;
int s=1;
而
在代码中,只能从最后一行获取set_编号

尝试以下方法

while (myReader.Read())
{
  string SetName = myReader.GetString("set_number");
  MessageBox.Show(SetName);
  count = count + 1;
}
在代码中,只能从最后一行获取set_编号

尝试以下方法

while (myReader.Read())
{
  string SetName = myReader.GetString("set_number");
  MessageBox.Show(SetName);
  count = count + 1;
}
逻辑错误

while (myReader.Read())
用于从数据集中读取每行数据

但您仍然显示结果-->MessageBox.show(SetName); 在myReader.Read()循环完成之后,当然您将永远得到最后一个结果,在您的例子中是“3”

您应该执行以下操作: 试一试

if (myReader.HasRows)
{
    while (myReader.Read())
    {
        string SetName = myReader.GetString("set_number");
        MessageBox.Show(SetName);
    }
}
逻辑错误

while (myReader.Read())
用于从数据集中读取每行数据

但您仍然显示结果-->MessageBox.show(SetName); 在myReader.Read()循环完成之后,当然您将永远得到最后一个结果,在您的例子中是“3”

您应该执行以下操作: 试一试

if (myReader.HasRows)
{
    while (myReader.Read())
    {
        string SetName = myReader.GetString("set_number");
        MessageBox.Show(SetName);
    }
}