SqlHelper模板
2024-10-09 14:25:18
在实际开发中,我们不会直接使用拼写SQL语句的方法进行数据库操作,而是使用参数化的方法进行数据库操作,这样做的好处很多,不仅提高了程序的健壮性,同时也避免的SQL注入的问题。在这里,笔者为初学者提供一个SQLHelper模板,希望对新手有所启发。
public static class SqlHelper
{
public static readonly string strConn = ConfigurationManager.ConnectionStrings["strConn"].ConnectionString; public static int ExecuteNonQuery(string cmdText, params SqlParameter[] parameters)
{
using (SqlConnection conn = new SqlConnection(strConn))
{
conn.Open();
return ExecuteNonQuery(conn, cmdText, parameters);
}
}
public static int ExecuteNonQuery(SqlConnection conn, string cmdText, params SqlParameter[] parameters)
{
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = cmdText;
cmd.Parameters.AddRange(parameters);
return cmd.ExecuteNonQuery();
}
} public static object ExecuteScalar(string cmdText, params SqlParameter[] parameters)
{
using (SqlConnection conn = new SqlConnection(strConn))
{
conn.Open();
return ExecuteScalar(conn, cmdText, parameters);
}
}
public static object ExecuteScalar(SqlConnection conn, string cmdText, params SqlParameter[] parameters)
{
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = cmdText;
cmd.Parameters.AddRange(parameters);
return cmd.ExecuteScalar();
}
} public static DataTable ExecuteDataTable(string cmdText, params SqlParameter[] parameters)
{
using (SqlConnection conn = new SqlConnection(strConn))
{
conn.Open();
return ExecuteDataTable(conn, cmdText, parameters);
}
}
public static DataTable ExecuteDataTable(SqlConnection conn, string cmdText, params SqlParameter[] parameters)
{
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = cmdText;
cmd.Parameters.AddRange(parameters);
using (SqlDataAdapter adapter = new SqlDataAdapter(cmd))
{
DataTable dt = new DataTable();
adapter.Fill(dt);
return dt;
}
}
} /// <summary>
/// 存数据时防止为空
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public static object ToDbValue(this object value)
{
return value == null ? DBNull.Value : value;
} /// <summary>
/// 取数据时防止为空
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public static object FromDbValue(this object value)
{
return value == DBNull.Value ? null : value;
}
}
最新文章
- WebService 概念和工作原理(一)
- Highchart.js
- Replication
- 简单的C#线程开发实例(隔一秒改变一下Label的Text)
- <;一>;初探js特效魅力之选项卡05
- Sysbench - 一种系统性能benchmark
- vuex使用心得分享(填坑)
- Linux显示所有运行中的进程
- java 删除整数元素集合中的元素
- AGC 007D.Shik and Game(DP)
- Django和SQLAlchemy,哪个Python ORM更好?
- 在Java应用中通过SparkLauncher启动Spark任务
- Java1的内容(学期总结)
- python scrapy 把cookie并转化为字典的形式
- java运行时异常与一般异常有何异同?
- django的mysql设置和mysql服务器闲置时间设置
- ubuntu 安装 openssh-server,xinetd,vmware tools
- js中push和join方法使用介绍
- TCP关闭连接(为什么会能Time_wait,Close_wait?)
- laravel之引入图片上传类