我正在尝试使用 C# 通过 OleDbConnection 在 Access 数据库上执行 SQL 命令,并使用该信息在 Windows 窗体上填充 DataGridView。我已经打开了连接,陈述了查询并执行了它,但是我找不到如何将结果输出到 Windows 窗体上的 DataGridView(名为 dataOutput)。
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 时出现问题。我想我不明白如何用查询的输出填充数据集。任何帮助将非常感激。谢谢!