我正在尝试使用以下方法在数据网格上显示我的数据库详细信息。我能够与数据库建立连接并进行更新,这样就可以了。在查询后显示数据时遇到问题。
下面的第一个方法查询执行查询。我试图使用该信息并运行第二种方法下的代码,当我点击一个按钮时调用该方法。
我有问题callign我的查询方法。我的印象是我可以在adapter.SelectCommand下调用它但返回错误说"不能隐式转换类型"。如果我错误地运行查询,请通知我。谢谢。
public MySqlDataReader Query(string queryString)
{
MySqlDataReader reader;
MySqlCommand cmd2;
try
{
cmd2 = new MySqlCommand(queryString, conn);
reader = cmd2.ExecuteReader();
while (reader.Read())
{
Console.WriteLine(reader.GetInt32(0) + " " + reader.GetString(1) + " " + reader.GetDouble(2));
}
return reader;
}
catch(Exception e)
{
Console.WriteLine("Error in query");
Console.Read();
}
return null;
}
private void Button_Retrieve(object sender, RoutedEventArgs e)
{
try
{
MySqlDataAdapter adapter = new MySqlDataAdapter();
adapter.SelectCommand = dataSource.Query("SELECT * FROM PERSONS WHERE Name = 'Sam';");//THis line returns the error
DataTable dt = new DataTable("PERSONS");
adapter.Fill(dt);
dataGrid1.ItemsSource = dt.DefaultView;
adapter.Update(dt);
}
catch (Exception error)
{
MessageBox.Show(error.StackTrace);
}
}
答案 0 :(得分:0)
您的适配器没有连接
// Assumes that connection is a valid SqlConnection object.
string queryString =
"SELECT CustomerID, CompanyName FROM dbo.Customers";
SqlDataAdapter adapter = new SqlDataAdapter(queryString, connection);
DataSet customers = new DataSet();
adapter.Fill(customers, "Customers");