从表count-1获取的数据

时间:2014-07-06 08:28:57

标签: c# mysql

我遇到的问题是我的c#项目从数据表中获取数据时总是会获取数据-1。例如,当我在输出控制台中打印数据时,我的表有3个数据,它只打印2个数据(第一个数据行不会被提取)。这种情况的原因是什么。我附上了代码部分。

String connectionString = "server = localhost; user id = xxx; password = xxx; database = xxxr";
        MySqlConnection connection = new MySqlConnection(connectionString);
        connection.Open();
        String caseId = textBox1.Text;
        String searchString = "SELECT * FROM xxx" ;
        if (textBox1.Text != "")
        {
            using (MySqlCommand mySqlCommand = new MySqlCommand(searchString, connection))
            {

                using (MySqlDataReader mySqlDataReader = mySqlCommand.ExecuteReader())
                {
                    if (mySqlDataReader.Read() && mySqlDataReader[0] != DBNull.Value)
                    {
                        while(mySqlDataReader.Read()){
                            Debug.WriteLine(mySqlDataReader.GetString(0));
                            Debug.WriteLine(mySqlDataReader.GetString(1));
                            Debug.WriteLine(mySqlDataReader.FieldCount.ToString());
                        }

                    }

                }
            }

                connection.Close();

感谢。

1 个答案:

答案 0 :(得分:2)

致电时

if (mySqlDataReader.Read() && mySqlDataReader[0] != DBNull.Value)

你获取结果的第一行。在输出数据时,您不会在任何地方使用此结果,并且此结果实际上已丢失。