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