l = Convert.ToInt32(a3) * Convert.ToInt32(aa5);????出错

时间:2022-03-26 22:14:39
                     int l;
                    l = Convert.ToInt32(a3) * Convert.ToInt32(aa5);

                    string a8 = l.ToString();
                    DataSet ds1 = xm.getDataSet("INSERT INTO [user_shop] (user_name,user_shop,user_sl,user_rmb,user_shopname,user_n) VALUES ('" + name + "','" + a2 + "','" + aa5.Replace("'", "''") + "','" + a8 + "','" + a4 + "','" + aa6.Replace("'", "''") + "')");
                    s.rScript(this.GetType(), "<script>alert('成功添加进购物车!!!');</script>", this.Page);
                    return;



出现错误
输入字符串的格式不正确。

说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

异常详细信息: System.FormatException: 输入字符串的格式不正确。

源错误: 


行 150: 
行 151:                    int l;
行 152:                    l = Convert.ToInt32(a3) * Convert.ToInt32(aa5);????出错
行 153:
行 154:                    string a8 = l.ToString();

8 个解决方案

#1


a3 和aa5 可能是字符 可能是null  这么做之前 先判断一下在转换
你可以先输出一下 

#2


你先断点调试一下,看看传入的值是不是正确的int格式

#3


把你的insert打印出来,放到sqlserver中执行一下

#4


l = Convert.ToInt32(a3) * Convert.ToInt32(aa5);
这两个变量的一个或者两个不能转换为整数。

#5


用int.trypase 不行吗。

int i;
bool flag= int.trypase(a3,out i);
if(flag)
//to do

#6


类型转换错误很正常的,看下a3,aa5的值就知道了,非数子必然要错误的;
tryparse可以的,要严格验证输入就行了;

1、只要是提交来的数据,必须经过严格的验证才能放心的;
2、这样的拼接sql字符串很可怕的,还是用参数化的吧;

#7


这问题,你自己调试,不是更快?

#8


异常详细信息: System.FormatException:  输入字符串的格式不正确

用int.TryParse()方法,不要用Convert.ToInt32()转换。

#1


a3 和aa5 可能是字符 可能是null  这么做之前 先判断一下在转换
你可以先输出一下 

#2


你先断点调试一下,看看传入的值是不是正确的int格式

#3


把你的insert打印出来,放到sqlserver中执行一下

#4


l = Convert.ToInt32(a3) * Convert.ToInt32(aa5);
这两个变量的一个或者两个不能转换为整数。

#5


用int.trypase 不行吗。

int i;
bool flag= int.trypase(a3,out i);
if(flag)
//to do

#6


类型转换错误很正常的,看下a3,aa5的值就知道了,非数子必然要错误的;
tryparse可以的,要严格验证输入就行了;

1、只要是提交来的数据,必须经过严格的验证才能放心的;
2、这样的拼接sql字符串很可怕的,还是用参数化的吧;

#7


这问题,你自己调试,不是更快?

#8


异常详细信息: System.FormatException:  输入字符串的格式不正确

用int.TryParse()方法,不要用Convert.ToInt32()转换。