以下是我读取数据使用的语句,但如果我想重复利用 SqlCommand 和 SqlDataReader多次运行 不同的sql语句返回数据集.string theStr = "";SqlConnection cn = new SqlConnection(myclass.cnGlobag);
cn.Open();
string sqlStr = " select * from tableA";SqlCommand cmd = new SqlCommand(sqlStr, cn);
SqlDataReader dr = cmd.ExecuteReader();while (dr.Read())
{
theStr += dr.GetValue(0).ToString() + "    " + dr.GetValue(1).ToString()+"\r\n\r\n"; 
}..........
..........
..........执行另外带有返回数据集的sql语句
sqlStr="select score from tableB";
..........
..........
..........
cmd.Dispose();
dr.Dispose();
cn.Dispose();

解决方案 »

  1.   

    你可以用多个Dataset来接受返回值,然后Merge起来不就OK?
      

  2.   

    string sql="select * from A;select * from B;select * from C;";使用dataadapter填充dataset,这个dataset里就有3个datatable
      

  3.   

    SqlDataAdapter da=new SqlDataAdapter(cmd);//重用cmd,使da的SelectCommand同原cmd为同一引用
    cmd.CommandText="select score from tableB";//重新设置SQL语句
    DataSet ds=new DataSet();
    da.Fill(ds);
      

  4.   

    SqlDataReader没法多次利用了,SqlCommand还是可以的,你把他存入静态变量中如果有的时候就直接调用。不过这种方式存在多线程问题。
      

  5.   

    SqlCommand cmd = new SqlCommand(sqlStr, cn);
    SqlDataReader dr = cmd.ExecuteReader();
    //使用阅读器
    .......
    dr.Close();
    cmd.CommandText="新语句";
    dr=cmd.ExecuteReader();
    //使用阅读器
    .......
      

  6.   

    写个通用方法不就好了public static SqlDataReader GetDataReader(string sql, SqlParameter[] parames, CommandType type)
    {
        SqlConnection con = new SqlConnection("");//""是连接数据库的字符串
        con.Open();
        SqlCommand cmd = new SqlCommand(sql, con);
        cmd.CommandType = type;
        cmd.Parameters.AddRange(parames);
        SqlDataReader sdr = cmd.ExecuteReader();
        con.Close();
        return sdr;
    }大概是这样
      

  7.   


    // 定义一个静态类 SqlHelper
    // 里面可以包含各种操作,比如:ExecuteDataSet、ExecuteNonQuery
    // 在该类中定义一个 SqlConnection 对象,所有的操作均使用这个 SqlConnection 对象。
    // SqlConnection 对象所使用的连接字符串可以从 App.config 中读取。
    // 获取连接字符串:System.Configuration.ConfigurationManager.AppSettings["..."]
    // 需要添加 System.Configuration 程序集
      

  8.   

    http://blog.csdn.net/keenweiwei/article/details/6845709
      

  9.   

    其实就是一些标准MSSQL语句的