不知道该怎么办
我写的一个查询数据库的函数,如下,在第一次运行的时候,没有问题。但是连续第二次运行的时候,就会在标注的地方报错。说什么系统错误,郁闷的就是这种不清不楚的提示。   希望大家不吝赐教!   
 public   static   DataSet   Query(string   StrConnect,string   Strsql) 
 { 
             int   icount=0; 
             if(Strsql.Trim().Length> 0) 
             { 
                         SqlConnection   conn   =   new   SqlConnection(StrConnect); 
                         conn.Open(); 
                         System.Data.SqlClient.SqlDataAdapter   da=new   SqlDataAdapter(Strsql,conn); 
                         if(conn.State==ConnectionState.Open) 
                         { 
                                     conn.Close(); 
                         }   
                         DataSet   ds=new   DataSet(); 
                         if(ds.Tables.Count!=0) 
                         { 
                                     ds.Clear(); 
                         } 
                         else 
                         { 
                                     //da.TableMappings.Clear(); 
                                     da.Fill(ds);            //***** 
                         } 
                         return      ds; 
             } 
             else 
             { 
                         return   null; 
             } 
 }
------解决方案--------------------没有关闭连接 
 在return ds 前 conn.Close();
------解决方案--------------------用SqldataAdapter,就别con.Open(), con.Close()什么的了   
 Adapter会自动管理connection的,不用手动open, close   
 Adapter使用完连接后,会把connection恢复到使用之前的状态
------解决方案--------------------不用static   
 public DataSet SelectData(string SQL,string TableName) 
 { 
     string strSQL=SQL; 
     myConn=new sqlConnection(stringConnection); 
     da=new SqlDataAdapter(strSQL,myConn); 
     da.fill(ds,TableName); 
     return ds; 
 }
------解决方案--------------------在對數據綁定前: 
 this.dataGrid1.dataSource=null;