zml870624 2010-11-17 00:06
浏览 373
已采纳

谁能帮我注释一下每句代码的意思

 class DataBaseOperate
    {      
        SqlConnection  conn;

        private void OpenConn()//打开数据库
        {
            conn = new SqlConnection();
conn.ConnectionString = ConfigurationManager.AppSettings["sqlconn"].ToString();  
            conn.Open();
        }

        private void CloseConn()//关闭数据库
        {
            conn.Close();
            conn.Dispose();
        }

        public DataSet GetDataSet(string Sql)//根据sql语句获得一个DataSet
        {
            OpenConn();
            SqlDataAdapter da = new SqlDataAdapter(Sql, conn);
            DataSet ds = new DataSet();
            da.Fill(ds);
            return ds;
            CloseConn();
        }

        public DataTable ExecQuery(string Sql)//根据sql语句获得一个DataTable
        {
            OpenConn();
            SqlDataAdapter da = new SqlDataAdapter(Sql, conn);
            DataTable dt = new DataTable();
            da.Fill(dt);
            return dt;
            CloseConn();
        }

        public string GetSingleValueFromSql(string strSql)//根据sql语句获得一个单值字符串
        {
            OpenConn();
            try
            {
                SqlCommand cmd = new SqlCommand(strSql, conn);
                string result = cmd.ExecuteScalar().ToString();
                return result;
            }
            catch
            {
                return "";
            }
            CloseConn();
        }

        public bool ExecNoQuery(string strSql)//根据sql语句执行非查询操作
        {
            OpenConn();
            try
            {
                SqlCommand cmd = conn.CreateCommand();
                cmd.CommandText = strSql;
                cmd.ExecuteNonQuery();
                return true;
            }
            catch
            {
                return false;
            }
            CloseConn();
        }       
        //执行事务处理SQL
        public bool ExecTSQL(string[] strSql)         {
            OpenConn();
            SqlTransaction trans = conn.BeginTransaction(IsolationLevel.ReadCommitted);
            try
            {
                for (int i = 0; i < strSql.Length; i++)
                {
                    if (strSql[i] == "" || strSql[i] == null) { continue; }
                    SqlCommand sqlCmd = conn.CreateCommand();
                    sqlCmd.Transaction = trans;
                    sqlCmd.CommandText = strSql[i];
                    sqlCmd.ExecuteNonQuery();
                }
                trans.Commit();
                return true;
            }
            catch
            {
                trans.Rollback();
                return false;
            }
            finally
            {
                trans = null;
                CloseConn();
            }
        }

        //执行存储过程
        public bool ExecProc(string strProcName)
        {
            OpenConn();
            try
            {
                SqlCommand sqlCmd = conn.CreateCommand();
                sqlCmd.CommandType = CommandType.StoredProcedure;
                sqlCmd.CommandText = strProcName;

                sqlCmd.ExecuteNonQuery();
                return true;
            }
            catch
            {
                return false;
            }
            finally
            {
                CloseConn();
            }
        }

        //执行带参存储过程
        public void ExecProc(string strProcName, SqlParameter[] parameters)
        {
            OpenConn();
            try
            {
                SqlCommand sqlCmd = conn.CreateCommand();
                sqlCmd.CommandText = strProcName; //声明存储过程名
                sqlCmd.CommandType = CommandType.StoredProcedure;
                foreach (SqlParameter parameter in parameters)
                {
                    sqlCmd.Parameters.Add(parameter);
                }

                sqlCmd.ExecuteNonQuery();
            }
            finally
            {
                CloseConn();
            }
        }
    }
  • 写回答

2条回答 默认 最新

  • zzfolin 2010-11-17 11:32
    关注

    很详细的注释了 !!! 记得要给分哈
    废话少说 给你代码(C#代码和JAVA代码差不多)

    [code="java"]
    class DataBaseOperate
    {

    //声明 一个SqlConnection变量
    SqlConnection conn;

    private void OpenConn()
    {
        //实例化SqlConnection对象
        conn = new SqlConnection();
    
     }
    
    //在配置文件里面拿取sqlconn字符串信息
    conn.ConnectionString = ConfigurationManager.AppSettings["sqlconn"].ToString(); 
    //打开数据库连接
    conn.Open();
    

    }

    //关闭数据库
    private void CloseConn()
    {
    //关闭数据库连接并释放资源
    conn.Close();
    conn.Dispose();
    }

    //根据sql语句获得一个DataSet
    public DataSet GetDataSet(string Sql)
    {
    //打开数据库连接
    OpenConn();

    //实例化SqlDataAdapter
    SqlDataAdapter da = new SqlDataAdapter(Sql, conn);
    
    //实例化一个结果集DataSet
    DataSet ds = new DataSet();
    
    //fill方法装填结果集
    da.Fill(ds);
    
    //返回结果集
    return ds;
    
    //关闭数据库连接
    CloseConn();
    

    }

    //根据sql语句获得一个DataTable
    public DataTable ExecQuery(string Sql)
    {
    //打开数据库连接
    OpenConn();

    //实例化适配器SqlDataAdapter
    SqlDataAdapter da = new SqlDataAdapter(Sql, conn);
    
    //实例化一个DataTable
    
    DataTable dt = new DataTable();
    
    //装填DataTable
    da.Fill(dt);
    
    //返回DataTable
    return dt;
    
    //关闭数据库连接
    CloseConn();
    

    }

    //根据sql语句获得一个单值字符串
    public string GetSingleValueFromSql(string strSql)
    {
    //打开数据库连接
    OpenConn();

    //try代码块(可以捕获异常)
    try
    {
        //创建SqlCommand对象
        SqlCommand cmd = new SqlCommand(strSql, conn);
    
        //执行cmd语句
        string result = cmd.ExecuteScalar().ToString();
    
        //返回执行结果
        return result;
    }
    catch
    {
        return "";
    }
    //关闭数据库连接
    CloseConn();
    

    }

    //根据sql语句执行非查询操作
    public bool ExecNoQuery(string strSql)
    {

    //打开数据库连接
    OpenConn();
    
    try
    {
    
        //创建SqlCommand对象
        SqlCommand cmd = conn.CreateCommand();
    
        //设置cmd的CommandText (就是SQL语句)
        cmd.CommandText = strSql;
    
        //执行(最好把返回受影响行数给返回出去 大于0 return true)
        cmd.ExecuteNonQuery();
    
        //
        return true;
    }
    catch
    {
        return false;
    }
    
    //关闭数据库连接
    CloseConn();
    

    }

    //执行事务处理SQL
    public bool ExecTSQL(string[] strSql)
    {
    //打开数据库连接
    OpenConn();

    //开启事务
    SqlTransaction trans = conn.BeginTransaction(IsolationLevel.ReadCommitted);
    
    try
    {
        for (int i = 0; i < strSql.Length; i++)
        {
            if (strSql[i] == "" || strSql[i] == null) { continue; }
    
            //用SqlConnection对象来创建SqlCommand
            SqlCommand sqlCmd = conn.CreateCommand();
    
            //设置该cmd的事务
            sqlCmd.Transaction = trans;
    
            //设置需要查询的sql语句
            sqlCmd.CommandText = strSql[i];
    
            //执行
            sqlCmd.ExecuteNonQuery();
        }
    
        //提交事务
        trans.Commit();
        return true;
    }
    catch
    {
        //回滚事务
        trans.Rollback();
        return false;
    }
    finally
    {
        //最后关闭数据库连接  重置事务
        trans = null;
        CloseConn();
    }
    

    }

    //执行存储过程
    public bool ExecProc(string strProcName)
    {
    //打开数据库连接
    OpenConn();
    try
    {
    //创建SqlCommand对象
    SqlCommand sqlCmd = conn.CreateCommand();
    //设置cmd的类型(存储过程)
    sqlCmd.CommandType = CommandType.StoredProcedure;

        //把存储过程的名称赋给cmd内容(相当于SQL语句)
        sqlCmd.CommandText = strProcName;
    
        //执行cmd命令(即sql)
        sqlCmd.ExecuteNonQuery();
        return true;
    }
    catch
    {
        return false;
    }
    finally
    {
        CloseConn();
    }
    

    }

    //执行带参存储过程
    public void ExecProc(string strProcName, SqlParameter[] parameters)
    {
    //打开数据库连接
    OpenConn();
    try
    {
    //实例化SqlCommand对象
    SqlCommand sqlCmd = conn.CreateCommand();

        //声明存储过程名
        sqlCmd.CommandText = strProcName; 
    
        //设置sqlCmd的CommandType 
        sqlCmd.CommandType = CommandType.StoredProcedure;
    
        //迭代遍历存储过程需要的参数并添加
        foreach (SqlParameter parameter in parameters)
        {
            sqlCmd.Parameters.Add(parameter);
        }
    
        //执行
        sqlCmd.ExecuteNonQuery();
    }
    finally
    {
        //关闭连接
        CloseConn();
    }
    

    }
    }
    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮