首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

关于用C#将一个表拆成几个子表,并处理数据的有关问题

2012-06-01 
求助 关于用C#将一个表拆成几个子表,并处理数据的问题刚开始接触SQL。需要处理一个表的数据,通过一列(Cell)

求助 关于用C#将一个表拆成几个子表,并处理数据的问题
刚开始接触SQL。需要处理一个表的数据,通过一列(Cell)的不同值,将这个表的数据分别做不同的处理。比如说这一列的数据是1,1,1,1,2,2,2,则是1的进行一种处理。2的进行另一种处理。表中每一个数据都要用到。我开始的处理方法是先将Cell列的数据提取出来,

C# code
 //获得Cell列不同的值            SqlCommand cmd = new SqlCommand();            cmd.Connection = m_SqlConn;            cmd.CommandText = "select distinct Cell from " + sTableName;            cmd.CommandType = CommandType.Text;            SqlDataAdapter sda = new SqlDataAdapter();            sda.SelectCommand = cmd;            DataSet ds = new DataSet();            sda.Fill(ds, sTableName);


然后得到不同的Cell值的个数
C# code
int nDiffCellValueCount = ds.Tables[sTableName].Rows.Count;


对每个Cell值再得到一次DataSet,
C# code
 //得到相同的Cell值的表            for (int i = 0; i < nDiffCellValueCount; i++ )            {                SqlCommand cmd1 = new SqlCommand();                cmd1.Connection = m_SqlConn;                cmd1.CommandText = "select * from Cell where Cell = " + ds.Tables[0].Rows[i][0].ToString();                cmd1.CommandType = CommandType.Text;                SqlDataAdapter sda1 = new SqlDataAdapter();                sda1.SelectCommand = cmd;                //记录下该DataSet对应的Cell值                _DataValue ds1 = new _DataValue(Convert.ToUInt64(ds.Tables[0].Rows[i][0]));                sda.Fill(ds1._DataSet, sTableName);                DataBaseValueAL.Add(ds1);            }


结果在for循环的时候把数据库服务器弄挂了,请问该怎么做啊?现在都不敢随便试了



[解决办法]
for循环的时候把数据库服务器弄挂了...
死循环了吧
[解决办法]
sda.Fill(ds1._DataSet, sTableName);
肯定 是这块有问题。
你这样select,效率实在太低啊。
每行都select......

热点排行