DateTime 列を持つ MS-Access データベースがあります。
例: 03/08/2009 12:00:00 AM
。
次のような日付に基づくクエリが必要です。
select * from tablename where date='03/08/2009'
としてデータを表示したい03/08/2009 12:00:00 AM
。
このクエリを C# で記述するにはどうすればよいでしょうか。私を助けてください。
コンソール アプリで C# を使用して Access DB にアクセスするサンプル コードを次に示します。必要に応じて、このコードを Windows または ASP.NET に適合させることができます。
/* Replace with the path to your Access database */
string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\mydatabase.mdb;User Id=admin;Password=;";
try
{
using(OleDbConnection conn = new OleDbConnection(connectionString)
{
conn.Open();
string myQuery = "Select * FROM tableName WHERE date='03/02/2009'";
OleDbCommand cmd = new OleDbCommand(myQuery, conn);
using(OleDbDataReader reader = cmd.ExecuteReader())
{
//iterate through the reader here
while(reader.Read())
{
//or reader[columnName] for each column name
Console.WriteLine("Fied1 =" + reader[0]);
}
}
}
}
catch (Exception e)
{
Console.WriteLine(e.Message);
}
問題はプログラミング言語ではなく、mdb アクセスへのクエリです。DateValue
Access では、日付を入力する前に単語が必要です:
string myQuery = "Select * FROM tableName WHERE date= DateValue ('03/02/2009')";