C# を使用して OleDbConnection を介して Access データベースで SQL コマンドを実行し、その情報を使用して Windows フォームの DataGridView に入力しようとしています。接続を開き、クエリを記述して実行しましたが、Windows フォーム (dataOutput という名前) の DataGridView に結果を出力する方法が見つかりません。
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 を埋める方法を理解していないと思います。どんな助けでも大歓迎です。ありがとう!