我编写了下面的代码来连接到我的数据库。你们能给我建议比这更好的选择吗,因为我非常感兴趣的是哪种方式的表现更好。下面的代码是否实现了Singleton模式?
public static class DbConnect
{
public static DataTable SqlConnection(string query)
{
DataTable dt = null;
using (SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConString"].ConnectionString))
{
using (SqlCommand cmd = new SqlCommand())
{
using (SqlDataAdapter da = new SqlDataAdapter(cmd))
{
if (cn.State == ConnectionState.Closed)
{
dt = new DataTable();
cn.Open();
da.Fill(dt);
}
}
return dt;
}
}
}
}发布于 2014-06-16 06:34:11
国际水文学组织预期:
所以代码看起来可能是这样的:
// I've used KeyValuePair for parameters; probably a specialized class will be better
public static DataTable SqlConnection(string query, params KeyValuePair<String, Object>[] parameters) {
using (SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConString"].ConnectionString)) {
using (SqlCommand cmd = cn.CreateCommand()) {
cmd.CommandText = query;
// Parameters, if they're mentioned
if (!Object.ReferenceEquals(null, parameters))
foreach (var prm in parameters)
cmd.Parameters.AddWithValue(prm.Key, prm.Value);
using (SqlDataAdapter da = new SqlDataAdapter(cmd)) {
cn.Open();
DataTable result = new DataTable();
da.Fill(result);
return result;
}
}
}
}..。
DataTable dt1 = SqlConnection("select 123");
DataTable dt2 = SqlConnection(
@"select *
from MyTable
where MyField = @MyParam",
new KeyValuePair<String, Object>("@MyParam", 123));代码不是Singleton实现,它甚至不是一个类:只是一个静态方法。
https://stackoverflow.com/questions/24237568
复制相似问题