在更新表字段的下拉列表中引发错误。它声称 SelectedValue 无效,因为它不存在于项目列表中。如果我进入表格并将零添加到 ID,则不再抛出错误。
下拉菜单选择一个teacherid,它是Teacher 表中的主键,并将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 ()