C# SqlHelper应用开发学习
本文实例为大家分享了C#SqlHelper应用技巧,供大家参考,具体内容如下
使用App.config配置文件封装连接字符串,方便重复使用
--->添加App.conifg配置文件
--->Add:ConnectionString:
--->添加引用
<?xmlversion="1.0"encoding="utf-8"?> <configuration> <startup> <supportedRuntimeversion="v4.0"sku=".NETFramework,Version=v4.5"/> </startup> <connectionStrings> <addname="conStr"connectionString="DataSource=.;InitialCatalog=;UserID=;Password="/> </connectionStrings> </configuration>
封装一个SQLHelper类方便使用
usingSystem.Configuration;
usingSystem.Data;//DatSet..TableSqlDataAdapter
usingSystem.Data.SqlClient;//SqlConnectionCommandDataReader
namespaceCommon
{
publicclassSqlHelper
{
//连接字符串
//1、添加引用2、导入命名空间为了使用ConfigurationManager
privatestaticstringconStr=ConfigurationManager.ConnectionStrings["conStr"].ConnectionString;
//增删改查
//查找数据ExecuteScalar()返回首行首列ExecuteReader()DataTable
///<summary>
///返回DataTable
///</summary>
///<paramname="sql">所用的sql语句</param>
///<paramname="param">可变,可以传参也可以不传参数</param>
///<returns></returns>
publicstaticDataTableExecuteDataTable(stringsql,paramsSqlParameter[]param)
{
DataTabledt=newDataTable();
using(SqlConnectioncon=newSqlConnection(conStr))
{
using(SqlDataAdapteradapter=newSqlDataAdapter(sql,con))
{
//添加参数
adapter.SelectCommand.Parameters.AddRange(param);
//1.打开链接,如果连接没有打开,则它给你打开;如果打开,就算了
//2.去执行sql语句,读取数据库
//3.sqlDataReader,把读取到的数据填充到内存表中
adapter.Fill(dt);
}
}
returndt;
}
///<summary>
///执行查询,返回首行首列
///</summary>
///<paramname="sql"></param>
///<paramname="param"></param>
///<returns></returns>
publicstaticobjectExecuteScalar(stringsql,paramsSqlParameter[]param)
{
objecto=null;
using(SqlConnectioncon=newSqlConnection(conStr))
{
using(SqlCommandcmd=newSqlCommand(sql,con))
{
cmd.Parameters.AddRange(param);
con.Open();
o=cmd.ExecuteScalar();
}
}
returno;
}
///<summary>
///执行查询,返回SqlDataReader对象
///</summary>
///<paramname="sql"></param>
///<paramname="param"></param>
///<returns></returns>
publicstaticSqlDataReaderExecuteReader(stringsql,paramsSqlParameter[]param)
{
SqlDataReaderreader=null;
using(SqlConnectioncon=newSqlConnection(conStr))
{
using(SqlCommandcmd=newSqlCommand(sql,con))
{
cmd.Parameters.AddRange(param);
con.Open();
reader=cmd.ExecuteReader();
}
}
returnreader;
}
///<summary>
///执行增删改,返回受影响的行数
///</summary>
///<paramname="sql"></param>
///<paramname="param"></param>
///<returns></returns>
publicstaticintExecuteNonQuery(stringsql,paramsSqlParameter[]param)
{
intn=-1;
using(SqlConnectioncon=newSqlConnection(conStr))
{
using(SqlCommandcmd=newSqlCommand(sql,con))
{
cmd.Parameters.AddRange(param);
con.Open();
n=cmd.ExecuteNonQuery();
}
}
returnn;
}
}
}
C#using三种使用方法:https://www.nhooo.com/article/102855.htm
C#namespace:是为了防止命名重复的。
比如你在两个不同的命名空间中都可以有Student类。
此命名空间范围允许您组织代码并为您提供了创建全局唯一类型的方法。
C#中Sqlparamater的用法:https://www.nhooo.com/article/101015.htm
下面这个是应用sqlHelper和ComboBox来展示 省市联动:
publicpartialclassForm1:Form
{
publicForm1()
{
InitializeComponent();
}
privatevoidForm1_Load(objectsender,EventArgse)
{
//在应用程序加载的时候,去数据库查找省的数据,给cboPro
DataTabledt=SqlHelper.ExecuteDataTable("select*frompromary");
//将返回的DataTable作为cboPro的数据源
//让cboPro显示proName这个字段的值,一般是显示给客户看的
cboPro.DisplayMember="proName";
//让valueMemberID,绑定的是对应的值,绑定处理程序标识给程序员看的。
cboPro.ValueMember="proID";
cboPro.DataSource=dt;
}
privatevoidcboPro_SelectedIndexChanged(objectsender,EventArgse)
{
//之前的写法
//MessageBox.Show(cboPro.Text);//获得在cbo中选择文本
//MessageBox.Show(cboPro.SelectedValue.ToString());//获得关联的数据
//stringsql="select*fromcitywhereproID="+cboPro.SelectedValue.ToString();
//带参数的sql语句
stringsql="select*fromcitywhereproID=@proID";
//准备一个sql参数
SqlParameterp=newSqlParameter("@proID",cboPro.SelectedValue.ToString());
//设置cboCity要显示的数据
cboCity.DisplayMember="cityName";
//根据sql语句查询到的数据集
cboCity.DataSource=SqlHelper.ExecuteDataTable(sql,p);
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。