这个很简单
你把40个select语句连接在一起进行一次sql查询
这样返回的是一个DataSet,里面包含40个DataTable对象
这样我想大概可以提高速度30多倍左右

解决方案 »

  1.   

    但是我的代码这么写
    也是生成一个数据集,其中包含40个DataTable对象
    这样做有什么差别啊?
      

  2.   

    问题是你调用daDrop.Fill (dsDrop,i.ToString ());
    了40次
    也就是做了40次数据库操作
    而我这样只做了1次
    呵呵
      

  3.   

    很对啊
    ^_^
    不过怎么把40条 Sql语句连起来啊
    我看了一篇帖子说用;把语句格开就可以
    但是我试了不行啊
    请秋风兄帮忙解答~
      

  4.   

    应该使用;就可以了DropDownList[] Drop={drop1,drop2.....drop40};控件数组
    string[] strDic={dic1,dic2....dic40};字典数组string seleCommand="";
    OracleDataAdapter daDrop;
    DataSet dsDrop=new DataSet();for(int i=0;i<Drop.Length ;i++)
    {
    seleCommand+="SELECT * FROM "+strDic[i]+";";
    }daDrop=new OracleDataAdapter (seleCommand,... );
    daDrop.Fill (dsDrop);for(int i=0;i<Drop.Length ;i++)
    {
    Drop[i].DataSource =dsDrop[i];
    Drop[i].DataMember =i.ToString ();
    Drop[i].DataTextField ="DES";
    Drop[i].DataValueField ="CODE";
    Drop[i].DataBind ();
    }
      

  5.   

    我在Oracle Plus里试的
    select * from dicxb;select * from dicjz;
    提示错误是:无效字符
      

  6.   

    shuker(秋风儿),想象力不错嘛!
    估计够呛能成功
      

  7.   

    to wolfc1977(wolfc)
    不好意思,我一直用sql server的
    对oracle的语法一点不了解
    抱歉了
      

  8.   

    dplxp(绝尘一骑)
     在DropDownList事件列表里可是没有OnClick之类行的事件的啊
    而selectedindexChanged事件明显的更增加了负担