我一直在尝试从我的数据库(MySQL)中检索数据。 我一直在网上寻找样本,但没有任何东西与我想要做的事情相匹配,即使在Stack上也是如此。 所以这就是我的尝试:
public void RetrieveData()
{
cmd = new MySql.Data.MySqlClient.MySqlCommand();
cmd.Connection = conn;
//connecting to database
Connect();
try
{
cmd.CommandText = "SELECT * FROM storing WHERE id=1";
cmd.Prepare();
ResultSet rs = cmd.CommandText;
}
}
但是我在ResultSet上有一个错误,说“由于它的保护级别不能访问ResultSet”。 cmd是在类中创建的,因为我需要它进入我的其他函数。
有谁知道我应该写什么? 我只想检索所有数据(数据库中的5列)并使用以下命令在控制台中打印:
location = rs.GetString(2, @location);
Console.WriteLine("Location is : " + location );
这是一个例子,但我真的不知道该写些什么。
提前感谢帮助人员!
答案 0 :(得分:1)
我认为您正在寻找的方法是
...
try
{
cmd.CommandText = "SELECT * FROM storing WHERE id=1";
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
var location = reader.GetString(2);
Console.WriteLine("Location is : " + location ); );
}
}
...
答案 1 :(得分:0)
我试过了:
String longitude = "";
String latitude = "";
bool status = false;
String path = "";
using (MySqlDataReader reader = cmd.ExecuteReader())
{
while (reader.Read())
{
longitude = reader["longitude"].ToString();
latitude = reader["latitude"].ToString();
status = (bool) reader["status"];
path = reader["path"].ToString();
}
}
Console.WriteLine("Longitude : " + longitude);
Console.WriteLine("Latitude : " + latitude);
Console.WriteLine("Path : " + path);
我第一次尝试它时,它没有工作,所以我删除了它。然后我再试一次,现在就可以了。不知道我从奇数版本中做了什么改变,但现在看起来还不错。