这是我之前询问的一个问题的扩展。我试图执行SQL查询并在DataGridView中显示结果,但即使我将数据源分配给查询结果并将AutoGenerateColumns设置为true,查看器中也不会显示任何结果。任何想法缺少什么?数据不显示在DataGridView中
private void Query()
{
const string ConnectionPath = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=RetentionDB.mdb";
try
{
using (var cn = new OleDbConnection(ConnectionPath))
using (var cmd = new OleDbCommand("SELECT * FROM RetentionTable WHERE Center = ?", cn))
{
// Parameter names don't matter; OleDb uses positional parameters.
cmd.Parameters.AddWithValue("@p0", getCenter(""));
var objDataSet = new DataSet();
var objDataAdapter = new OleDbDataAdapter(cmd);
objDataAdapter.Fill(objDataSet);
dataOutput.AutoGenerateColumns = true;
dataOutput.DataSource = objDataSet;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
MessageBox.Show(ex.StackTrace.ToString());
}
}
荣誉去理查德认为可行性帮助我的代码迄今。
PS我环顾四周,看到的这么多问题,但他们都不适用(至少我发现)
'SELECT * FROM RetentionTable WHERE Center =?'是什么意思? –
这只是对SQL查询的测试。在“使用”部分中,@ p0调用getCenter()函数,该函数返回一个字符串并在问号的第一个实例中注入到SQL中。 – 1337Atreyu