我已经有一段时间没有编程了,但最近我需要它。
我在使用 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 未处理。行/列不存在数据。” 错误点在 fname_txt.Text = reader.GetString(0);
但实际上那里有数据,因为带有所有代码的“提交”按钮正在工作,我已经在数据库表本身中检查了它。
有小费吗?谢谢你。