我有一段时间没有进行编程了,但最近我又需要用到它。
我在使用Sql Server Compact Edition 4.0(VS2012内置)的SQL DataReader时遇到了问题。
string connstring = "Data Source=C:\\..(Path Here)..\\VacationsDB.sdf";
SqlCeConnection conn = new SqlCeConnection(connstring);
string strSQL = "SELECT * FROM Vacation WHERE VacationNo = @val";
using (SqlCeCommand cmd = new SqlCeCommand(strSQL, conn))
{
//read search value from from text field
cmd.Parameters.AddWithValue("@val", vacationno_txt.Text);
conn.Open();
SqlCeDataReader reader = cmd.ExecuteReader();
fname_txt.Text = reader.GetString(0);
mname_txt.Text = reader.GetString(1);
/*
* .. snip
*/
vacationno_txt.Text = reader.GetString(11);
conn.Close();
}
我不停地收到这个错误信息: “InvalidOperationException was Unhandled. No data exists for the row/column。” 错误指向了这一行: fname_txt.Text = reader.GetString(0); 但实际上,这个数据是存在的。因为 “提交” 按钮和它所有的代码都在工作中,我已经在数据库表中检查过了。
有什么建议吗?谢谢。