从MySql获取数据到C#应用程序

时间:2014-06-21 05:47:53

标签: c# mysql while-loop

我有一个MySql表,我从中将数据提取到C#应用程序。随机地将一些数据插入此表中形成另一个源。我想在我的C#应用程序中连续获取这些数据。我的数据库连接和选择查询如下:

string connection = "Server=localhost;Database=intel;Uid=root;Pwd=";
        MySqlConnection dbcon = new MySqlConnection(connection);
        MySqlCommand selectData;
        dbcon.Open();
        selectData = dbcon.CreateCommand();
        selectData.CommandText = "SELECT user_id, user_name,user_type FROM win_user ORDER BY user_id ASC ";
        MySqlDataReader rdr = selectData.ExecuteReader();

我想执行我的选择查询单元,它获取任何数据。

if 
  Get data = null

再次执行我的选择查询

else 
 Get data = data 

执行我的下一个代码

我认为这可能发生在while循环中,但我不知道如何?任何onk可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

你想做什么听起来很奇怪但是,为了回答问题,你可以使用这样的循环:

MySqlDataReader rdr = selectData.ExecuteReader();

// Check whether the result set is empty.
while (!rdr.HasRows)
{
    rdr.Close();

    // Pause before trying again if appropriate.

    rdr = selectData.ExecuteReader();
}

while (rdr.Read())
{
    // Read data here.
}

答案 1 :(得分:0)

使用此

If(rdr.HasRows)
{
    rdr.Read();
    // do your logic
}
rdr.Close();

只有在datareader对象中有一些数据时才使用rdr.Read()。 如果你只是想读取值而不检查null而不是使用这个

while (rdr.Read())
{
    // do logic
}
rdr.Close();

此循环运行的次数与选择查询结果中不存在任何行数相同。