テーブル フィールドを更新するドロップダウン リストでエラーがスローされます。アイテムのリストに存在しないため、SelectedValue が無効であると主張しています。テーブルに移動して ID にゼロを追加すると、エラーはスローされなくなりました。
ドロップダウンは、Teacher テーブルから主キーである teacherid を選択し、ID を Classes テーブルに保存します。クラス テーブルには、先行ゼロなしでゼロで始まるすべての ID が保存されます。
そのため、Classes テーブルの tid が 0701234 の場合、701234 として保存されますが、両方のテーブルは nvarchar(255) です。Classes テーブルが tid に int データ型を使用していたことを付け加えておきます。なので、これを回避するために変更しました。存在しないレコードは更新できないため、変更後も上記のエラーがスローされます。
ここにコントロールがあります
<asp:DropDownList ID="teacherdd1" runat="server" AutoPostBack="true"
DataSourceID="SQLdatasourceTeacherList"
DataTextField="fullname1" DataValueField="tid" >
</asp:DropDownList>
どうすればいいのか、なぜこれが起こっているのかわかりません。
非常に簡単です。テストするテキストボックスに切り替えましたが、これを再確認するのを忘れていました。私の見落とし。
ありがとう
cmdUpdate.Parameters.Add("@TID1", SqlDbType.Int).Value = teacherdd1.SelectedValue.ToString() cmdUpdate.Parameters.Add("@TID2", SqlDbType.Int).Value = teacherdd2.SelectedValue.ToString() 'cmdUpdate.Parameters.Add("@tid1", SqlDbType.NVarChar).Value = txbteacher1.Text.ToString() 'cmdUpdate.Parameters.Add("@tid2", SqlDbType.NVarChar).Value = txbteacher2.Text.ToString ()