我正在尝试从MS-Access 2010数据库表中填充文本框。桌子上有2个字段,夜景和座位。假设在夜间字段中选择的日期有一个当前值,我想将当前值置于Seats字段中。我现在所拥有的代码是:如何从C#中的Access 2010数据库填充文本框?
//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();
这不仅代码不能正确(或全部)填充文本框似乎删除今日从完全数据库日期的记录。第一个消息框显示正确的日期,但第二个显示空白。 如何修复此代码,使其填充文本框并且不会删除数据库中的条目?
其他事情正在发生。此代码从任何时候都不会从数据库中删除.. –
我同意西蒙。这只能从数据库中读取,不会在任何地方移除任何东西。尝试一步一步的调试。 –
好的,我从那里得到了“删除信息”的bug。这段代码没有这样做。当我运行它时,我不知何故将整个程序设置为恢复到旧版数据库。不过,我仍然没有在文本框中找到任何东西。 –