在创建SqlCommand后动态设置一个:
SqlCommand.CommandTimeout=..秒;

解决方案 »

  1.   

    我刚做的一个项目中就处理过这个问题,userxk(毛毛虫)说的很对,用SqlCommand的CommandTimeout属性来设置。
      

  2.   

    我没用到SqlCommand,我调用方法如下:
    SqlConnection Conn;
    SqlDataAdapter Cmd;
    DataSet DS; 
    Conn = new SqlConnection(Application["conn_str"].ToString());
    Cmd = new SqlDataAdapter("procedure1", Conn);
    Cmd.SelectCommand.CommandType = CommandType.StoredProcedure;
    Cmd.SelectCommand.Parameters.Add(new SqlParameter("@para1", SqlDbType.NVarChar, 8));
    Cmd.SelectCommand.Parameters["@para1"].Value = "test";
    DS = new DataSet();
    Cmd.Fill(DS, "table1");
    DataView Dv= new DataView();
    Dv=DS.Tables["table1"].DefaultView;
    datagrid1.DataSource=Dv;
    datagrid1.DataBind();
    请问如何设置执行过程的时间?
      

  3.   

    那你看一下Cmd的连接超时可否设置。
      

  4.   

    没有看到Cmd的连接超时参数设置!怎么办呢?
      

  5.   

    我已经在
    globe.asax.cs中设置了
    Application["conn_str"]="user id=test;password=test;database=testdb;server=testsvr;Connect Timeout =6000 ";但实际上还是很容易超时,一分钟不到!
    请大家再帮帮我的忙,多谢!
      

  6.   

    你的超时错误是发生在和在:
    globe.asax.cs中设置了
    Application["conn_str"]="user id=test;password=test;database=testdb;server=testsvr;Connect Timeout =6000 ";
    没有什么关系,所以这个Connect Timeout=n 也没有,其实执行存储过程用SqlCommand是最好的,你可以将SqlDataAdapter换成SqlCommand,如果你执意要用SqlDataAdapter我也就不好多说了。
      

  7.   

    你的超时错误是发生在存储过程执行连接上,和:
    globe.asax.cs中设置了
    Application["conn_str"]="user id=test;password=test;database=testdb;server=testsvr;Connect Timeout =6000 ";
    没有什么关系,所以这个Connect Timeout=n 也没有,其实执行存储过程用SqlCommand是最好的,你可以将SqlDataAdapter换成SqlCommand,如果你执意要用SqlDataAdapter我也就不好多说了。
      

  8.   

    多谢各位热心答复,我已经找到方法了,加上
    Cmd.SelectCommand.CommandTimeout=600;
    就OK了!