Asp.net 它显示对象不能强制转换为DBNull 如果没有记录,则返回DBNull.Value。你需要在你的演员阵容中说明这一点。以下内容将强制转换为可为null的int,因此,如果未找到任何记录,则可以使用表示法 还可以为查询使用参数,而不是字符串连接
代码:Asp.net 它显示对象不能强制转换为DBNull 如果没有记录,则返回DBNull.Value。你需要在你的演员阵容中说明这一点。以下内容将强制转换为可为null的int,因此,如果未找到任何记录,则可以使用表示法 还可以为查询使用参数,而不是字符串连接,asp.net,sql-server,ado.net,Asp.net,Sql Server,Ado.net,代码: 会话[“uid”]似乎没有行。为什么要转换字符串并将其与int连接起来…为什么不尝试…“从购物车中选择sum(pric),其中uid=”+会话[“uid”]。ToString()+“。。。 SqlCommand sd1 = new SqlCommand("select sum(pric) from cart where uid='" + Convert.ToInt32( Session["uid"]) + "'",con); // sd1.Execut
会话[“uid”]
似乎没有行。为什么要转换字符串并将其与int连接起来…为什么不尝试…“从购物车中选择sum(pric),其中uid=”+会话[“uid”]。ToString()+“。。。
SqlCommand sd1 = new SqlCommand("select sum(pric) from cart where uid='" +
Convert.ToInt32( Session["uid"]) + "'",con);
// sd1.ExecuteNonQuery();
int var1 = Convert.ToInt32( sd1.ExecuteScalar());
int? intResult;
using(SqlCommand sd1 = new SqlCommand("select sum(pric) from cart where uid=@uid", con))
{
sd1.Parameters.Add(new SqlParameter("@uid", SqlDbType.Int){Value = Convert.ToInt32(Session["uid"])});
var result = sd1.ExecuteScalar();
intResult = Syste.DBNull.Value == result
? (int?) null
: (int?) result;
}