C# C将MySQL数据库内容存储到列表时出错
我得到了我不想得到的输出。我认为我的代码是正确的,但是我可能遗漏了一些东西 C代码:C# C将MySQL数据库内容存储到列表时出错,c#,mysql,list,mysqldatareader,C#,Mysql,List,Mysqldatareader,我得到了我不想得到的输出。我认为我的代码是正确的,但是我可能遗漏了一些东西 C代码: try { string mydbConnection = "datasource=localhost;port=3306;username=root;password=Greenford123;"; MySqlConnection connDB = new MySqlConnection(mydbConnection); MySqlCommand cmdDataBase = new MySqlCommand
try
{
string mydbConnection = "datasource=localhost;port=3306;username=root;password=Greenford123;";
MySqlConnection connDB = new MySqlConnection(mydbConnection);
MySqlCommand cmdDataBase = new MySqlCommand("SELECT * FROM project.student", connDB);
MySqlDataReader DBReader;
connDB.Open();
DBReader = cmdDataBase.ExecuteReader();
while (DBReader.Read())
{
List<string> mylist = new List<string>();
mylist.Add(DBReader.ToString());
foreach (var item in mylist)
{
MessageBox.Show("The details are " + item);
}
}
connDB.Close();
}
catch(Exception ex)
{
MessageBox.Show("Error! " + ex);
}
我想做的是将数据库中的内容存储到一个列表中,以便对其进行操作。然后我想输出列表,但是输出不是字符串或数据。我得到的结果是:
输出:详细信息为MySQL.Data.MySqlClient.MySqlDataReader
该行:
DBReader = cmdDataBase.ToString();
这是错误的。应该是
DBReader = cmdDataBase.ExecuteReader();
您可以使用EF,然后使用类似于if myObject.firstName==myEntity.firstName{doSomething;}的东西。下面是一个从datareader生成列表的示例。可能的重复我仍然得到错误。无法将MySQL转换为字符串。我得到的错误在“mylist.AddcmdDataBase;”行这是因为cmdDataBase是一个命令,您正试图将其添加到字符串列表中。请看本页底部的示例部分:您需要调用DBReader.Read和DBReader.GetStringint length。