日期:2014-05-17  浏览次数:20655 次

关于C#以及MS SQL的问题,想从SQL中接收数据,通过变量懂做一些运算,然后在存回去。不知道怎么写求代码
我是新手,做一个C#的练习,试了好久了,实在不会,拜托给代码的时候稍微详细一点。想通过dataset从sql中填充数据,然后用for循环逐行用变量接受dataset的数据,进行运算再存回表里面。想用decimal类型的。

ID  a    b    c   total   ID是int型的,a、b、c、total都是decimal型的
1   10   20   30
2   20   30   40 
3   10   30   30
想用for循环逐行对a,b,c 做a+3*b+2*c 的运算 最后存到数据库的total里。
我暂时写的代码在下面,但是错误好多,还有的不会写的,都不知道怎么办了,求修改,求代码,谢谢啦~~~
private void button1_Click(object sender, EventArgs e)
{
SqlConnection conn;conn = new SqlConnection("server=.;database=a;uid=sa;pwd=");
conn.Open();
da = new SqlDataAdapter("Select * From ex", conn);
DataSet ta = new DataSet();
da.Fill(ta);
for(i=0;i<=3;i++);
{
decimal m = decimal.Parse (ta.Tables[0].Rows[i][1].ToString());
decimal n = decimal.Parse (ta.Tables[0].Rows[i][2].ToString());
decimal o = decimal.Parse (ta.Tables[0].Rows[i][3].ToString());
decimal t = a+3*b+2*c;
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "update ex set total = 't' where a='m'";
}
}
没法运行啊,不知道怎么改啊,拜托各位了。谢谢了

------解决方案--------------------
引用:
cmd.CommandText = "update ex set total = ('t') where a=('m')";//这一句sql语句也有问题吧应该改为
cmd.CommandText = "update ex set total = 't' where a='m'";

看错了,你的t和m是你自定义的应该改为
cmd.CommandText = "update ex set total = '"+ t +"' where a='"+ m+ "'";