日期:2014-05-16  浏览次数:20421 次

菜鸟求高手帮忙
以下是我testsec表的一部分(一共25行数据)
Number  x1       x2     x3       x4     Xipj
1      3.0      4.2     3.5     3.8 
2      4.3      4.1     3.7     3.9 
3      4.2      3.6     3.2     3.4 
4      3.9      4.3     4.0     3.6 
 我应该怎样使用循环语句实现求每行四个数的平均值啊:)求指导啊
我在asp.net中写了如下代码:
int i;
for (i = 1; i <= 25; i++)
{
string sqlXipj = "update testsec set Xipj=(select sum(x1+x2+x3+x4)/4 from testsec where Number=i) where Number=i";//获取X平均值
int resultXipj = Convert.ToInt32(SqlHelper.ExecuteNonQuery(conn, CommandType.Text, sqlXipj, null))
Response.Write("<script>alert('成功获取Xipj')</script>");
}
但是,系统提示列名i无效,请问我应该怎么修改我自己的代码才能实现求每行四个数的平均值啊,菜鸟求高手帮忙啊!!
------解决方案--------------------
一行行数据为什么要sum?

update testsec set Xipj=(x1+x2+x3+x4)/4
  
*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/
------解决方案--------------------
string sqlXipj = "update testsec set Xipj=(select (x1+x2+x3+x4)/4 from testsec where Number="+i+") where Number="+i;
------解决方案--------------------

stringbuilder str =new StringBuilder();
str.Append("update testsec set Xipj=(select sum(x1+x2+x3+x4)/4 from testsec where Number={0}) where Number={0}",i)

I应该是数据而不是列
因为你表里没有I
SQL就会报这个错
而且你传参数 直接在字符串里写个I有什么用