我遇到一个问题,我的 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();
谢谢。
最佳答案
当你打电话时
if (mySqlDataReader.Read() && mySqlDataReader[0] != DBNull.Value)
您获取结果的第一行。输出数据时,您不会在任何地方使用此结果,并且此结果实际上会丢失。
关于c# - 从表 count-1 中获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24594035/