另外,我看书上讲,如果是SqlDataReader,取其中的返回值,是要先用Close()把它关闭再取的,
不知道SqlCommand是否一样??并且SqlDataReader不用Close()关闭会占用连接,
但如果我用显式的直接关闭连接呢,那这个SqlDataReader还会不会占用连接池,
或者直接关闭连接根本就关闭不了???

解决方案 »

  1.   

    数据完全取出来就关闭连接,释放资源,这是一个好习惯,也别闲麻烦,要的时候在取就可以了.
    一般来说Dispose()释放资源就可以了,不过特殊的向DATEREADER这样,必须用完就关
    但是好习惯嘛,用完就关..
      

  2.   

    MakeProcCommand("LBXSP_DeleteInfoFile");
    这个方法是我自己写的
    就是返回一个存储过程类型的SqlCommand,不知道这样有没有问题?public SqlCommand MakeProcCommand(string ProcName)
    {
    SqlCommand myCmd = new SqlCommand(ProcName,myConn);
    try
    {
    myCmd.CommandType=CommandType.StoredProcedure;  
    return myCmd;
    }
    catch(System.Data.SqlClient.SqlException e)
    {
    throw new Exception(e.Message);
    }
    }