C# SqlHelper应用开发学习
本文实例为大家分享了C# SqlHelper应用技巧,供大家参考,具体内容如下
使用App.config配置文件封装连接字符串,方便重复使用
--->添加App.conifg配置文件
--->Add : ConnectionString:
--->添加引用
<?xml version="1.0" encoding="utf-8" ?> <configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> </startup> <connectionStrings> <add name="conStr" connectionString="Data Source=.;Initial Catalog=;User ID=;Password="/> </connectionStrings> </configuration>
封装一个SQLHelper类方便使用
using System.Configuration; using System.Data;//DatSet..Table SqlDataAdapter using System.Data.SqlClient;//SqlConnection Command DataReader namespace Common { public class SqlHelper { //连接字符串 //1、添加引用 2、导入命名空间 为了使用ConfigurationManager private static string conStr = ConfigurationManager.ConnectionStrings["conStr"].ConnectionString; //增删改查 //查找数据 ExecuteScalar()返回首行首列 ExecuteReader() DataTable /// <summary> /// 返回DataTable /// </summary> /// <param name="sql">所用的sql语句</param> /// <param name="param">可变,可以传参也可以不传参数</param> /// <returns></returns> public static DataTable ExecuteDataTable(string sql, params SqlParameter[] param) { DataTable dt = new DataTable(); using (SqlConnection con = new SqlConnection(conStr)) { using (SqlDataAdapter adapter = new SqlDataAdapter(sql, con)) { //添加参数 adapter.SelectCommand.Parameters.AddRange(param); //1.打开链接,如果连接没有打开,则它给你打开;如果打开,就算了 //2.去执行sql语句,读取数据库 //3.sqlDataReader,把读取到的数据填充到内存表中 adapter.Fill(dt); } } return dt; } /// <summary> /// 执行查询,返回首行首列 /// </summary> /// <param name="sql"></param> /// <param name="param"></param> /// <returns></returns> public static object ExecuteScalar(string sql, params SqlParameter[] param) { object o = null; using (SqlConnection con = new SqlConnection(conStr)) { using (SqlCommand cmd = new SqlCommand(sql, con)) { cmd.Parameters.AddRange(param); con.Open(); o = cmd.ExecuteScalar(); } } return o; } /// <summary> /// 执行查询,返回SqlDataReader对象 /// </summary> /// <param name="sql"></param> /// <param name="param"></param> /// <returns></returns> public static SqlDataReader ExecuteReader(string sql, params SqlParameter[] param) { SqlDataReader reader = null; using (SqlConnection con = new SqlConnection(conStr)) { using (SqlCommand cmd = new SqlCommand(sql, con)) { cmd.Parameters.AddRange(param); con.Open(); reader = cmd.ExecuteReader(); } } return reader; } /// <summary> /// 执行增删改,返回受影响的行数 /// </summary> /// <param name="sql"></param> /// <param name="param"></param> /// <returns></returns> public static int ExecuteNonQuery(string sql, params SqlParameter[] param) { int n = -1; using (SqlConnection con = new SqlConnection(conStr)) { using (SqlCommand cmd = new SqlCommand(sql, con)) { cmd.Parameters.AddRange(param); con.Open(); n = cmd.ExecuteNonQuery(); } } return n; } } }
C#using三种使用方法: //www.jb51.net/article/102855.htm
C#namespace: 是为了防止命名重复的 。
比如你在两个不同的命名空间中都可以有Student类。
此命名空间范围允许您组织代码并为您提供了创建全局唯一类型的方法。
C#中Sqlparamater的用法://www.jb51.net/article/101015.htm
下面这个是应用sqlHelper和ComboBox来展示 省市联动:
public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { //在应用程序加载的时候 ,去数据库查找省的数据,给cboPro DataTable dt = SqlHelper.ExecuteDataTable("select * from promary"); //将返回的DataTable作为cboPro的数据源 //让cboPro显示proName这个字段的值,一般是显示给客户看的 cboPro.DisplayMember = "proName"; //让valueMemberID,绑定的是对应的值,绑定处理程序标识 给程序员看的。 cboPro.ValueMember = "proID"; cboPro.DataSource = dt; } private void cboPro_SelectedIndexChanged(object sender, EventArgs e) { //之前的写法 // MessageBox.Show(cboPro.Text);//获得在cbo中选择文本 //MessageBox.Show(cboPro.SelectedValue.ToString());//获得关联的数据 //string sql = "select * from city where proID="+cboPro.SelectedValue.ToString(); //带参数的sql语句 string sql = "select * from city where proID=@proID"; //准备一个sql参数 SqlParameter p = new SqlParameter("@proID", cboPro.SelectedValue.ToString()); //设置cboCity要显示的数据 cboCity.DisplayMember = "cityName"; //根据sql语句查询到的数据集 cboCity.DataSource = SqlHelper.ExecuteDataTable(sql, p); } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
上一篇:详解c# 类的构造方法
栏 目:C#教程
下一篇:C#微信公众号开发 微信事件交互
本文标题:C# SqlHelper应用开发学习
本文地址:https://www.xiuzhanwang.com/a1/C_jiaocheng/6011.html
您可能感兴趣的文章
- 01-10C#影院售票系统毕业设计(1)
- 01-10轻松学习C#的运算符
- 01-10轻松学习C#的基础入门
- 01-10轻松学习C#的装箱与拆箱
- 01-10轻松学习C#的预定义数据类型
- 01-10轻松学习C#的foreach迭代语句
- 01-10轻松学习C#的读写操作
- 01-10轻松学习C#的String类
- 01-10轻松学习C#的ArrayList类
- 01-10轻松学习C#的密封类
阅读排行
本栏相关
- 01-10C#通过反射获取当前工程中所有窗体并
- 01-10关于ASP网页无法打开的解决方案
- 01-10WinForm限制窗体不能移到屏幕外的方法
- 01-10WinForm绘制圆角的方法
- 01-10C#实现txt定位指定行完整实例
- 01-10WinForm实现仿视频播放器左下角滚动新
- 01-10C#停止线程的方法
- 01-10C#实现清空回收站的方法
- 01-10C#通过重写Panel改变边框颜色与宽度的
- 01-10C#实现读取注册表监控当前操作系统已
随机阅读
- 04-02jquery与jsp,用jquery
- 01-10delphi制作wav文件的方法
- 01-11ajax实现页面的局部加载
- 01-10使用C语言求解扑克牌的顺子及n个骰子
- 08-05dedecms(织梦)副栏目数量限制代码修改
- 01-10SublimeText编译C开发环境设置
- 01-10C#中split用法实例总结
- 01-11Mac OSX 打开原生自带读写NTFS功能(图文
- 08-05DEDE织梦data目录下的sessions文件夹有什
- 08-05织梦dedecms什么时候用栏目交叉功能?