0

質問があります: データベース接続 (access データベース) を使用してカレンダー アプリケーションを作成しています。このアプリケーションを使用すると、人々は予定を追加したり、日付を押すと予定を表示したりできます (たとえば、3 月 24 日)。しかし、今ではデータベースのすべての情報が表示されており、それは私が望むものではありません。データベースのすべての oppaintments ではなく、ユーザーがクリックしたボタン (日付) の予定を表示したい。

private void button2_Click(object sender, EventArgs e)
        {
            string selectie = " SELECT * FROM Appointment Order by AppointmentDate ";
            OleDbConnection calendarconn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;data source=C:\Users\derek\Dropbox\C#_Project_Calender\Versie 1.0\Kalenderdb.accdb");
            if (calendarconn != null)
            {
                Debug.WriteLine("calendarconn is not null: " + calendarconn);
                calendarconn.Open();
                OleDbCommand cmd = new OleDbCommand(selectie, calendarconn);
                OleDbDataReader reader = cmd.ExecuteReader();


                DataTable dt = new DataTable();

                dt.Load(reader);

                // achter je grid 
                this.dataGridView1.DataSourc
4

2 に答える 2

0

select ステートメントを言い換えて、フィルター処理も行います。

"SELECT * FROM Appointment WHERE AppointmentDate = @AppointmentDate"

次に、OleDbCommand オブジェクトにパラメーターを追加します。

cmd.Parameters.AddWithValue("@AppointmentDate", DateTime.Today);

于 2013-03-27T11:33:24.363 に答える
0

まず、Datetime Picker の「ValueChanged」イベントを使用できます。
ユーザーがカレンダーから日付を選択したとき。その後、このイベントが発生します。

ここにコードを記述し、次のようにクエリを更新します。

private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
{
    string selectie = " SELECT * FROM Appointment where AppointmentDate like '"+dateTimePicker1.Value.ToShortDateString()+"'  Order by AppointmentDate ";
}

以下のように日付の形式を変更することもできます。

dateTimePicker1.Value.ToString("yyyyMMdd");

2013 年 3 月 27 日は 20130327 と表示されます。

于 2013-03-27T11:41:01.903 に答える