しばらくプログラミングから離れていましたが、最近プログラミングが必要になりました。
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); を指しています。
しかし、すべてのコードを含む「送信」ボタンが機能していて、データベーステーブル自体でチェックしたため、実際にはそこにデータがあります。
任意のヒント?ありがとうございました。