vs 2005 c# 算个在赋值的问题

来源:百度知道 编辑:UC知道 时间:2024/05/26 21:33:19
while (sdr.Read())
{
float z = Convert.ToInt32(sdr["shuliang"].ToString()) * Convert.ToInt32(sdr["danjia"].ToString());

string sqlz = "update guanli set zongjia='"+z+"'where ID='"+Convert.ToInt32( this.GridView1.DataSourceID.ToString())+"' ";\\错误处
cmd1.CommandText = sqlz;

}
sdr.Close();
cmd1.ExecuteNonQuery();
我打算将数据库中的每一列都更新成相应的z的值然后再绑定到GridView上, 就是让就是让GridView中一行的两列相乘,在把其值赋给另一列。每行中的数不一样。也不知道我说的能不能让回答问题的人看懂,初学者语言不专业,抱歉了。电脑报的错是(输入字符串的格式不正确)
不好意思,先谢过各位了,不过这几位兄弟说的都不对呀

我觉得
“float z = Convert.ToInt32(sdr["shuliang"].ToString()) * Convert.ToInt32(sdr["danjia"].ToString()); ”这句就有问题
两个string格式的东西是不能相乘的,应该改为int z = Convert.ToInt32(sdr["shuliang"]) * Convert.ToInt32(sdr["danjia"]);

float z = Convert.ToInt32(sdr["shuliang"]) * Convert.ToInt32(sdr["danjia"]);

有可能是从数据库提取出来的数据类型不同
请检查是否存在float类型浮点数