对象不能从 DBNull 转换为其他类型。

来源:百度知道 编辑:UC知道 时间:2024/06/30 05:53:49
对象不能从 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

prmSid.Value 返回的值是 DBNull,也就是说相当于数据库单元格中什么值也没有。
你需要事先判断这种情况。

可以使用Conver.IsDbNull()这个函数判断