MS-Access 2010 データベース テーブルからテキスト ボックスに入力しようとしています。テーブルには、Night と Seats の 2 つのフィールドがあります。夜のフィールドで選択された日付の現在の値があると仮定して、座席フィールドの現在の値をテキストボックスに入れたいと思います。私が今持っているコードは次のとおりです。
//connect to the database to get how many seats are available
System.Data.OleDb.OleDbConnection con = new System.Data.OleDb.OleDbConnection();
con.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Duncan\Documents\Visual Studio 2012\Projects\TheatreUI\TheatreUI\bin\Debug\PlayHouse.accdb";
OleDbCommand cmd = con.CreateCommand();
//open the connection
con.Open();
// read from the Nights Table in the database
cmd.CommandText = "SELECT Seats FROM Nights WHERE Night = '" + System.DateTime.Now.ToShortDateString() + "';";
MessageBox.Show(System.DateTime.Now.ToShortDateString());
OleDbDataReader reader = cmd.ExecuteReader();
MessageBox.Show(reader["Seats"].ToString());
SeatsText.Text = reader["Seats"].ToString();
//close the connection
con.Close();
このコードは、テキストフィールドに適切に (またはまったく) データを入力しないだけでなく、今日の日付のレコードをデータベースから完全に削除しているように見えます。最初のメッセージ ボックスには正しい日付が表示されますが、2 番目のメッセージ ボックスには空白が表示されます。このコードを修正して、テキスト ボックスに入力し、データベースのエントリを削除しないようにするにはどうすればよいですか?