各位老大好,我想在sqlserver用sql语句的循环一条条取出记录,请问如何实现呀,我在取出数据的同时也要执行update语句,最好不用游标,因为数据量比较大,真诚的希望能够得到大家的帮助!

解决方案 »

  1.   

    是按照取出的记录去update吗?可以写update...from...一条语句就搞定了,不用那么复杂搞什么循环!SQL是面向集合处理的工具!
      

  2.   

    不好意思,有可能我没有表达清楚我的意思,我的asp.net处理代码如下,WEB页执行的效率不高,也以跑到这里来了向大家求教!
    string sqlstr="select * from pdfdatasheet_back2 where filename like '/pdfdata/%'";
    databind(sqlstr);
    private void databind(string sqlstr)
    {
    int count=0;
    DataSet ds=new DataSet();
    DataSet rDs=null;
    try
    {
    ds=data1.dbbind(sqlstr);
    if(ds.Tables[0].Rows.Count > 0 )
    {//if开始
    foreach(DataRow row in ds.Tables[0].Rows )
    {
    count++;
    string id="";
    string agent="";
    string pino="";
    string sqlstr2="";
    string filename2="";
    string [] Array1;
    id=row["id"].ToString ().Trim ();
    agent=row["agent"].ToString ().Trim ();
    pino=row["pino"].ToString ().Trim ();
    Array1=agent.Split ('[');
    filename2="/pdfdata/"+Array1[0]+"/"+pino+"/datasheet.pdf";
    sqlstr2="update pdfdatasheet_back2 set filename='"+filename2+"' where id='"+id+"'";
    data1.moddata (sqlstr2);
    }
    }
    ds.Dispose();
    ds.Clear ();
    data1.Alert ("共成功转换成"+count.ToString ()+"条记录",Page);
    }
    catch (Exception ex)
    {
    data1.Alert (ex.ToString (),Page);
    rDs=null;
    }
    }