C# 如何从MYSQL获取数据到windows窗体应用程序并用C填充字符串
我不熟悉这个长话短说,我的数据库中有一个名为data的表,它有3列ID、type、info,在用10行填充数据之后 我需要运行windows窗体,并有一个按钮从这些行获取信息,并将它们存储在10个字符串中C# 如何从MYSQL获取数据到windows窗体应用程序并用C填充字符串,c#,mysql,visual-studio,C#,Mysql,Visual Studio,我不熟悉这个长话短说,我的数据库中有一个名为data的表,它有3列ID、type、info,在用10行填充数据之后 我需要运行windows窗体,并有一个按钮从这些行获取信息,并将它们存储在10个字符串中 string1 = ( get string type from row 1 ) string 2 = ( get string type from row 2) until string 10 我可以使用此代码获取特定的第一行 string query = "select * from
string1 = ( get string type from row 1 )
string 2 = ( get string type from row 2)
until string 10
我可以使用此代码获取特定的第一行
string query = "select * from data where id=1";
MySqlConnection connect = new MySqlConnection(info);
MySqlCommand dbcommand = new MySqlCommand(query, connect);
MySqlDataReader myreader;
try
{
connect.Open();
myreader = dbcommand.ExecuteReader();
while (myreader.Read())
{
string1 = (string)myreader["type"];
}
}
catch (Exception ex)
{
}
connect.Close();
让代码在10个字符串中存储10行信息的最佳方法是什么
谢谢首先,将结果存储在数组中,而不是存储在10个单独的变量中,循环并加载每个变量,直到无法读取更多数据或读取所需的数字 这是一篇使用您的方法进行的快速总结,但我将您的MySqlConnection放在一个使用块中:
string query = "select * from data where id=1";
using (MySqlConnection connect = new MySqlConnection(info))
{
MySqlCommand dbcommand = new MySqlCommand(query, connect);
connect.Open();
int i = 0;
int numStrings = 10;
string[] strings = new string[numStrings];
MySqlDataReader myreader = dbcommand.ExecuteReader();
while (myreader.Read() && i < numStrings)
{
strings[i++] = (string)myreader["type"];
}
}
然后可以通过字符串数组访问结果,因此第一个是字符串[0],第十个是字符串[9]。好的,在阅读了你的问题几次之后,我想我理解了你的意思。您希望存储10个字符串,每个字符串应包含数据库中某行的“type”列中的数据 最简单的解决方案是创建一个新列表,并在每行循环时将字符串存储在其中 例如:
try
{
string query = "select * from data";
List<string> strings = new List<string>();
MySqlConnection connect = new MySqlConnection(info);
MySqlCommand dbcommand = new MySqlCommand(query, connect);
connect.Open();
myreader = dbcommand.ExecuteReader();
while (myreader.Read())
{
strings.add(Convert.ToString(myreader["type"]));
}
}
catch (Exception ex)
{
}
connect.Close();
我还建议您为打开和关闭数据库连接查找更好的解决方案。现在很混乱。OOPS,我的意思是在原来的问题上发表我的评论,而不是这个答案,对不起。看看这个——它会让你在应用程序和mysql之间的交互变得更容易。页面底部的示例正是您需要的。如果可能,您可以在一个查询中获取所有必需的结果,然后在应用程序代码中解析它们。尽可能避免使用“*”,当您开始在更大的系统中工作时,这将是一个好习惯。
foreach (string s in strings)
{
//do something with "s"
}