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

怎么把后台查询sql语句的结果保存在数组里??
以前我遇到的都是查询出一行结果 用下面的方法就可以了
using (SqlConnection conn = new SqlConnection(strcon)) //读出表的大小
            {
                using (SqlCommand comm = conn.CreateCommand())
                {
                    conn.Open();
                    comm.CommandText = "select * from SqlMonitor";
                    using (SqlDataReader reader = comm.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            Label1.Text = Convert.ToString(reader[1]);//时间  三个一组
                            size = Convert.ToString(reader[2]);//大小
                            Convert.ToString(reader[3]);//名字
                        }
                    }
                }
            }
但是这次我查询语句是 use diaryandword select name from sysobjects where type = 'U'
在sql里面查询出来的结果显示是一列结果 
这种情况用//SqlDataReader dr = mycommand.ExecuteReader();
            //int n = 0;
            //while (dr.Read())
            //{
            //    string s = Convert.ToString(dr[n]);
            //    name[n] = s;//读表名到数组中
            //    n++;
            //}
就会报数组越界 就是dr[]数组只有dr[0]这一个结果 dr[1]都取不到值了 我感觉是因为查询结果是一列数据的原因 查询出来是一列数据的情况怎么把值都取出来 然后保存到数组里呢 

------解决方案--------------------
看你数据量大不大,不大就放到viewsate里面,session什么也可以啊
------解决方案--------------------