对象不能从 DBNull 转换为其他类型。
来源:百度知道 编辑:UC知道 时间:2024/09/24 03:47:02
对象不能从 DBNull 转换为其他类型。
对象不能从 DBNull 转换为其他类型。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.InvalidCastException: 对象不能从 DBNull 转换为其他类型。
源错误:
行 103:
行 104: myPersonDetails.SSname=prmName.Value.ToString();
行 105: myPersonDetails.Sid=Convert.ToInt32(prmSid.Value);
行 106:
行 107: return myPersonDetails;
源代码是*****
public PersonDetails login(string strName,string strPwd)
{
//定义Connection和Command对象实例
SqlConnection myConnection=new SqlConnection(ConfigurationSettings.AppSettings["conn"]);
SqlCommand myCommand=new SqlCommand("sp_login",myConnection);
//将Command对象的类型指定为一个SQL存储过程
myCommand.CommandType=CommandType.StoredProcedure;
SqlParameter prmName=new SqlParameter("@sname",SqlDbType.VarChar,255);
prmName.Value=strName;
myCommand.Parameters.Add(prmName);
SqlParam
对象不能从 DBNull 转换为其他类型。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.InvalidCastException: 对象不能从 DBNull 转换为其他类型。
源错误:
行 103:
行 104: myPersonDetails.SSname=prmName.Value.ToString();
行 105: myPersonDetails.Sid=Convert.ToInt32(prmSid.Value);
行 106:
行 107: return myPersonDetails;
源代码是*****
public PersonDetails login(string strName,string strPwd)
{
//定义Connection和Command对象实例
SqlConnection myConnection=new SqlConnection(ConfigurationSettings.AppSettings["conn"]);
SqlCommand myCommand=new SqlCommand("sp_login",myConnection);
//将Command对象的类型指定为一个SQL存储过程
myCommand.CommandType=CommandType.StoredProcedure;
SqlParameter prmName=new SqlParameter("@sname",SqlDbType.VarChar,255);
prmName.Value=strName;
myCommand.Parameters.Add(prmName);
SqlParam
prmSid.Value 返回的值是 DBNull,也就是说相当于数据库单元格中什么值也没有。
你需要事先判断这种情况。
可以使用Conver.IsDbNull()这个函数判断