你这个sql是一串T-SQL语句,赋值给Label5,然后转换数值,根本没有意义的啊,他又不是数值,是无法转换的。
如果想成功,那Label5.Text="1234";
这样转换成是int的1234
我看你的代码觉得你是想cmd.ExecuNonQuery()
返回数值吧?
看来是新手呵呵,多看看入门书,加油!
string sql="";
sql = string.Format("select sum(总金额) as sumvalue from 购物车 where 用户名 = '{0}'", this.Label3.Text);
this.Label5.Text = sql;
int aa = Convert.ToInt32(sql);
可能是因为你转换的this.Label5.Text是一个object类型吧。
另外你把错误信息贴出来 就好解决了
你可能还没有明白你自己写的是什么,你的sql是一条语句,你把("select sum(总金额) as sumvalue from 购物车 where 用户名 = '{0}' 转化成int,就太难为机器了,cmd.ExecuteScalar()得到一个执行的结果,比如结果是:"1000“,然后再convert,每个人都是这么走过来的,加油啊!
你先要在数据访问层中用这个sql语句获得你要查找的结果后,在把这个结果传到表示层的后台代码中,在进行转换。你直接按照上面的方法,是转不过来的,因为不是字符串的数字。
因为隐式转换职能是有位数小的转成位数大的。
string要比int位数多,根本没法转化。所以报错。。。