Я некоторое время был в стороне от программирования, но недавно у меня возникла потребность в этом.
У меня проблема с SQL DataReader с использованием Sql Server Compact Edition 4.0 (встроенный VS2012).
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 is Unhandled. Нет данных для строки/столбца». И ошибка указывает на fname_txt.Text = reader.GetString(0);
Но на самом деле там есть данные, потому что кнопка «Отправить» со всем ее кодом работает, и я проверил это в самой таблице базы данных.
Какие-нибудь советы? Спасибо.