C# 积垢的最佳处理方法

C# 积垢的最佳处理方法,c#,ado.net,C#,Ado.net,我已经为数据库操作使我的类成为静态的。所有的方法,如sql连接、插入、更新、删除都是静态的。如果不是的话,使用静态的CRUD操作是否合适?什么是CRUD的最佳方法 公共静态类DBO { 你当然可以。它肯定会因提供商而异。你可以在这里看一下它是如何实现的 这就提出了一个问题,你为什么要这么做 提供程序为您的应用程序提供了一个可以依赖的标准API。这允许您在任何时候以最小的工作量切换提供程序(显然,我完全忽略了您选择的目标DBMS之间可能存在的sql语法差异) 如果是出于学术目的,希望MySql.N

我已经为数据库操作使我的类成为静态的。所有的方法,如sql连接、插入、更新、删除都是静态的。如果不是的话,使用静态的CRUD操作是否合适?什么是CRUD的最佳方法

公共静态类DBO {


你当然可以。它肯定会因提供商而异。你可以在这里看一下它是如何实现的

这就提出了一个问题,你为什么要这么做

提供程序为您的应用程序提供了一个可以依赖的标准API。这允许您在任何时候以最小的工作量切换提供程序(显然,我完全忽略了您选择的目标DBMS之间可能存在的sql语法差异)


如果是出于学术目的,希望MySql.Net Connector的源代码能帮助您。

也许您可以编写一个机器语言应用程序来连接数据库,但问题是相同的:为什么不使用提供商?我不确定我是否理解您的问题。提供商是您连接数据库的方式。如果您的软件tware需要连接到数据库,应该有东西告诉它如何连接。这是一个提供程序。连接是通过TCP实现的,因此您可以通过实现自己的TCP连接来实现。是的,您可以编写自己的数据库,而不需要providers@Pikoh,我在考试中被问到“是否有任何技术可以在不使用提供者的情况下连接到数据库?”这就是我想知道的原因。
    public static SqlConnection GetConnection()
    {
        SqlConnection con = new SqlConnection(WebConfigurationManager.ConnectionStrings["myconnection"].ConnectionString);
        if (con.State != ConnectionState.Open)
        {
            con.Open();
        }
        return con;
    }

    public static int IUD(string sql, SqlParameter[] param, CommandType cmdType)
    {
        using (SqlConnection con = GetConnection())
        {

            SqlCommand cmd = new SqlCommand(sql, con);
            cmd.CommandType = cmdType;

            if (param != null)
            {
                cmd.Parameters.AddRange(param);
            }
            try
            {
                return cmd.ExecuteNonQuery();
            }
            catch (Exception ex)
            {

                throw ex;
            }

        }
    }
    public static DataTable GetTable(string sql, SqlParameter[] param, CommandType cmdType)
    {
        using (SqlConnection con = GetConnection())
        {
            using (SqlCommand cmd = new SqlCommand(sql, con))
            {
                cmd.CommandType = cmdType;

                if (param != null)
                {
                    cmd.Parameters.AddRange(param);
                }
                SqlDataAdapter da = new SqlDataAdapter(cmd);

                DataTable dt = new DataTable();
                da.Fill(dt);

                return dt;

            }
        }
    }