VS2005的DataSet查询数据库时默认的超时时间是30秒,在很多应用中是远远不够的,可以做以下修改:

1. 使用VS2005自带的数据集文件时:需打开每个数据集文件所对应的*.Designer.cs文件,找到里面每一个InitCommandCollection,相应加上this._commandCollection[0].CommandTimeout = 0; 数字0表示没有超时。

需要注意的是,每次修改了数据集里的配置,*.Designer.cs文件都会自动重新生成,因此要记得重新添加。

2. 如果是使用自己声明的DataSet和Adapter,则须设置相应Adapter的CommandTimeout值为0. 如:

            SqlConnection sqlcon = this.getcon();
            SqlDataAdapter sqlda = new SqlDataAdapter(M_str_sqlstr, sqlcon);
            DataSet myds = new DataSet();
            sqlda.SelectCommand.CommandTimeout = 0;