我遇到的问题是我的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();
感谢。
答案 0 :(得分:2)
致电时
if (mySqlDataReader.Read() && mySqlDataReader[0] != DBNull.Value)
你获取结果的第一行。在输出数据时,您不会在任何地方使用此结果,并且此结果实际上已丢失。