学了好久的asp.net,却没怎么用过存储过程,大家帮我看一下下面的代码并作一下解释,有些地方不明白啊,我照着视频做都出错,上了年纪,学东西力不从心啊,只能做个人爱好了,大家帮我看看并解释一下,送大分了
public class DataBase
{
    private static DataBase _instance;
    public DataBase()
    {
        //
        // TODO: 在此处添加构造函数逻辑
        //
    }
    public static DataBase getInstance()
    {
        if (_instance == null)
        {
            _instance = new DataBase();
        
        }
        return _instance;
    }
    public static SqlConnection ReturnConn()
    {
        string strConn = System.Configuration.ConfigurationManager.AppSettings["ConnectionString"];
        SqlConnection Conn = new SqlConnection(strConn);
          if(Conn.State.Equals(ConnectionState.Closed ))
        {
            Conn.Open();
        }
        return Conn;
    }
    public static SqlCommand creatCmd(string procName,SqlParameter [] prams)
    {
        SqlConnection Conn=ReturnConn();
        SqlCommand Cmd = new SqlCommand();
        Cmd.CommandType = CommandType.StoredProcedure;
        Cmd.Connection = Conn;
        Cmd.CommandText = procName;
        if (prams != null)
        { 
       foreach(SqlParameter paramenter in prams)
            { 
        if(paramenter !=null)
        {
           
            Cmd.Parameters.Add(paramenter);
        }            }
        }        return Cmd;
    }
    public static SqlCommand CreatCmd(string procName, SqlParameter[] prams, SqlConnection Conn)
    {
        SqlConnection SqlConn = Conn;
        if (SqlConn.State.Equals (ConnectionState.Closed))
        {
            SqlConn.Open();
        }
        SqlCommand Cmd = new SqlCommand();
        Cmd.CommandType = CommandType.StoredProcedure;
        Cmd.Connection = SqlConn;
        Cmd.CommandText = procName;
        return Cmd;
        }
    public static SqlCommand CreatCmd(string procName)
    {
        SqlConnection SqlConn = ReturnConn();
        SqlCommand Cmd = new SqlCommand();
        Cmd.CommandType = CommandType.StoredProcedure;
        Cmd.Connection = SqlConn;
        Cmd.CommandText = procName;
        return Cmd;  
    
    }
    public static SqlDataReader RunProcGetReader(string procName,SqlParameter[] prams)
    {
        SqlCommand Cmd = CreatCmd(procName, prams);
        SqlDataReader Dr = Cmd.ExecuteReader(CommandBehavior.CloseConnection);
        return Dr;
    } 
    public static SqlDataReader RunProGetReader(string procName, SqlParameter[] prams, SqlConnection Conn)
    {
        SqlCommand Cmd = creatCmd(procName, prams, Conn);
        SqlDataReader Dr = Cmd.ExecuteReader(CommandBehavior.CloseConnection);
        return Dr;
    }
    public static SqlDataReader RunProcGetReader(string procName, SqlConnection Conn)
    {
        SqlCommand Cmd = CreatCmd(procName, Conn);
        SqlDataReader Dr = Cmd.ExecuteReader(CommandBehavior.CloseConnection);
        return Dr;    
    }
    public static SqlDataReader RunProcGetReader(string procName)
    {
        SqlCommand cmd = CreatCmd(procName);
        SqlDataReader Dr =cmd.ExecuteReader (CommandBehavior.CloseConnection);
        return Dr;      
    }
    public static DataTable RunProcGetTable(string procName, SqlParameter[] prams, SqlConnection Conn)//返回DataTable
    {
        SqlCommand Cmd = CreatCmd(procName, prams, Conn);
        SqlDataAdapter Dtr = new SqlDataAdapter();
        DataSet Ds = new DataSet();
        Dtr.SelectCommand = Cmd;
        Dtr.Fill(Ds);
        DataTable Dt = Ds.Tables[0];
        Conn.Close();
        return Dt;
    }
    public static int RunExecute(string procName)
    {
        SqlConnection Conn = ReturnConn();
        SqlCommand Cmd = CreatCmd(procName, Conn);
        int intResult = Cmd.ExecuteNonQuery();
        Conn.Close();
        return intResult;      
    }
    public static int  RunExecute(string procName,SqlParameter[] prams)
    {
        SqlConnection Conn = ReturnConn();
        SqlCommand Cmd = CreatCmd(procName, prams, Conn);
        int intResult = Cmd.ExecuteNonQuery();
        Conn.Close();
        return intResult;    
    }
    public static int RunExecuteScalar(string procName)
    {        SqlConnection Conn = ReturnConn();
        SqlCommand Cmd = CreatCmd(procName, Conn);
        int intResult = Convert.ToInt32(Cmd.ExecuteScalar());
        Conn.Close();
        return intResult;     
    }
    public static int RunExecuteScalar(string procName, SqlParameter[] prams)
    {
        SqlConnection Conn = ReturnConn();
        SqlCommand Cmd = CreatCmd(procName, prams, Conn);
        int intResult = Convert.ToInt32(Cmd.ExecuteScalar());
        Conn.Close();
        return intResult;    
    }
}
编译出错:错误 1“CreatCmd”方法没有采用“2”个参数的重载 C:\Inetpub\wwwroot\WebSite2\App_Code\DataBase.cs 90 26 C:\...\WebSite2\
            错误 2 “creatCmd”方法没有采用“3”个参数的重载 C:\Inetpub\wwwroot\WebSite2\App_Code\DataBase.cs 98 26 C:\...\WebSite2\同样一个错误好几个,

解决方案 »

  1.   

    public static SqlCommand creatCmd(string procName,SqlParameter [] prams)<==方法名字小写了
      

  2.   

    C#是区分大小写的
    你这里的代码实在不咋滴,还不如看看PETSHOP和Enterprise Library
      

  3.   

    SqlCommand Cmd = CreatCmd(procName, prams, Conn); SqlCommand Cmd = CreatCmd(procName, Conn);
    对比一下
    你现在这个程序中CreatCmd方法的使用你还没有看明白什么意思吧
      

  4.   

    asp.net2.0可是实现无代码数据库增删改,不用那么费劲了,呵呵
      

  5.   

    JF~~~推荐使用TableAdapter对数据库修改不用写SQL语句~~
      

  6.   

    lz精神可嘉阿,C#大小写很严格的。