我已经使我的类静态用于数据库操作。所有的方法,如sql连接,插入,更新,删除也是静态的。使用静态适用于CRUD操作,如果不是CRud的最佳方法
public static class DBO {
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;
}
}
}
答案 0 :(得分:1)
你当然可以。它肯定会因提供商而异。您可以在这里了解MySql .Net Connector的实施方式。
这提出了一个问题,你为什么要这样做?
提供商为您提供应用程序可依赖的标准API。这允许您在任何时候以最少的努力切换提供者(显然我完全忽略了您选择的目标DBMS之间可能存在的SQL语法差异)。
如果是出于学术目的,希望MySql .Net Connector的来源可以为您提供帮助。