我想用C#在一个OleDbConnection上的Access数据库执行SQL命令,并使用该信息来填充在Windows窗体上一个DataGridView。我打开了连接,说明了查询并执行了它,但是我找不到如何将结果输出到窗体上的DataGridView(名为dataOutput)。执行SQL命令,并输出结果的DataGridView在C#
private void Query()
{
string cmdText = "SELECT * FROM RetentionTable " +
"WHERE [DateTime] BETWEEN '" + getDateTimeFrom("") + "' AND '" + getDateTimeTo("") + "'";
string ConnectionPath = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=RetentionDB.mdb";
try
{
OleDbConnection cn = new OleDbConnection(ConnectionPath);
DataSet objDataSet = new DataSet();
OleDbDataAdapter objDataAdapter = new OleDbDataAdapter();
if (cn.State.Equals(ConnectionState.Closed))
{
cn.Open();
}
OleDbCommand OleDbSearch = new OleDbCommand(cmdText, cn);
OleDbSearch.ExecuteNonQuery();
objDataAdapter.Fill(objDataSet);
dataOutput.DataSource = objDataSet;
cn.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
MessageBox.Show(ex.StackTrace.ToString());
}
}
从我所看到的,是被正确执行查询,但试图使用objDataAdapter.Fill当问题来了。我想我不理解如何用查询的输出填充DataSet。任何帮助将非常感激。谢谢!
所以我做了这个,它似乎正在执行,但有没有数据显示在网格视图中,它只显示没有条目,我有AutoGenerateColuns = true,但没有数据。 – 1337Atreyu