问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

SQLdata是什么?

发布网友 发布时间:2022-04-07 20:03

我来回答

1个回答

热心网友 时间:2022-04-07 21:33

公共类的编写可以减少重复代码的编写,有利于代码维护。

创建类文件的方法为:在解决方案资源管理器的项目中,右键单击项目文件,在弹出的快捷菜单中选择“添加新项”,在弹出的“添加新项”对话框中选择“类”,修改名称为SqlData.cs。如图26.5所示。

图26.5 创建类文件

1.SqlData类中的全局变量

在SqlData类中声明了3个全局变量,以便在下面的程序代码中能够重复使用,避免了重复编写相同的代码段,声明全局变量的位置和变量类型的代码如下:

using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;//引用数据库命名空间using System.Data.SqlClient;/// <summary>/// SqlData 的摘要说明/// </summary>public class SqlData{private SqlConnection sqlcon; //申明一个SqlConnection对象private SqlCommand sqlcom; //申明一个SqlCommand对象private SqlDataAdapter sqldata; //申明一个SqlDataAdapter对象 public SqlData(){//// TODO: 在此处添加构造函数逻辑//}//以下为该类中的其他方法… …}

注意:#region预处理器指令在使用Visual Studio代码编辑器的大纲显示功能时,指定可展开或折叠的代码块。这个功能非常实用,尤其在编辑复杂的类时,可以使得代码结构更加清晰,在查询代码时可以快速地找到需要的代码行,读者在初学时一定要学会运用这种预处理器指令的方法,养成良好的编程习惯。
#region name
此处name是希望给予将出现在Visual Studio代码编辑器中的区域的名称。

2.SqlData类中的构造函数

构造函数中包含连接数据库的字符串,当声明一个类的对象时,将连接数据库。

#region 构造函数/// <summary>/// 构造函数,初始化时连接数据库/// </summary>public SqlData(){sqlcon = new SqlConnection(ConfigurationManager.AppSettings["conStr"]);sqlcon.Open(); //打开链接}#endregion

3.SqlData类中的BindData(GridView dl,string SqlCom)方法

BindData方法用来绑定用户控件,返回值为Boolean型,主要用来绑定页面中的GridView控件,执行成功后返回True,否则返回False。

BindData方法主要设计技术要点如下。

GridView控件的DataBind()方法表示要对数据源绑定后,将数据显示到相应的控件中。
try{…}catch{…}finally{…}语句是程序当中的异常处理机制,通过它可以很好地解决程序当中的异常问题。
GridView控件的DataSource属性表示将指定的数据源绑定到控件上。
sqlcon.Close()关闭当前与数据库的连接。

#region 绑定用户页面中的GridView控件/// <summary>/// 此方法实现数据绑定到GridView中/// </summary>/// <param name="dl">要绑定的控件</param>/// <param name="SqlCom">要执行的SQL语句</param>/// <returns></returns>public bool BindData(GridView dl, string SqlCom){dl.DataSource = this.ExceDS(SqlCom);try{dl.DataBind();return true;}catch{return false;}finally{sqlcon.Close();}}#endregion

4.SqlData类中的ExceSQL(string SqlCom)方法

ExecSQL方法用来执行SQL语句,返回值为Boolean型,主要用于对数据库中数据执行添加、修改、删除的操作,相应功能执行成功后返回True,否则返回False。

ExceSQL方法主要设计技术要点如下。

SqlCommand对象表示要对SQL Server数据库执行的一个SQL语句或存储过程。
SqlCommand类的ExecuteNonQuery()方法对连接执行SQL语句并返回受影响的行数。

#region 执行SQL语句/// <summary>/// 此方法用来执行SQL语句/// </summary>/// <param name="SqlCom">要执行的SQL语句</param>/// <returns></returns>public bool ExceSQL(string SqlCom){sqlcom = new SqlCommand(SqlCom,sqlcon);try{sqlcom.ExecuteNonQuery();return true;}catch{
return false;
}
finally
{
sqlcon.Close();
}
}
#endregion

5.SqlData类中的ExceDS(string SqlCom)方法

ExecDS方法用来返回DataSet类型的数据,并将数据填充到数据集中,相应功能执行成功后返回ds。

ExceDS方法主要设计技术要点如下。

SqlDataAdapter类用于填充DataSet并更新SQL Server数据库的一组数据命令和一个数据库连接。
SqlDataAdapter类的Fill方法是可重载的,在此主要实现填充数据集。

#region 返回DataSet类型数据/// <summary>/// 此方法返回一个DataSet类型/// </summary>/// <param name="SqlCom">要执行的SQL语句</param>/// <returns></returns>public DataSet ExceDS(string SqlCom){try{sqlcom = new SqlCommand(SqlCom, sqlcon);sqldata = new SqlDataAdapter();sqldata.SelectCommand = sqlcom;DataSet ds = new DataSet();sqldata.Fill(ds);return ds;}finally{sqlcon.Close();}}#endregion

注意:DataSet是ADO.NET结构的主要组件,它是从数据源中检索到的数据在内存中的缓存。在典型的多层实现中,用于创建和刷新DataSet并依次更新原始数据的步骤包括:通过DataAdapter使用数据源中的数据生成和填充DataSet中的每个DataTable;通过添加、更新或删除DataRow对象更改单个DataTable对象中的数据;调用GetChanges方法以创建只反映对数据进行的更改的第二个DataSet;调用DataAdapter的Update方法,并将第二个DataSet作为参数传递;调用Merge方法将第二个DataSet中的更改合并到第一个中;针对DataSet调用AcceptChanges或者调用RejectChanges以取消更改。

6.SqlData类中的ExceRead(string SqlCom)方法

ExceRead方法用来返回SqlDataReader类型的数据,相应功能执行成功后返回SqlDataReader的对象名read。

#region 返回SqlDataReader类型的数据/// <summary>/// 此方法返回一个SqlDataReader类型的参数/// </summary>/// <param name="SqlCom"></param>/// <returns></returns>public SqlDataReader ExceRead(string SqlCom){sqlcom = new SqlCommand(SqlCom, sqlcon);SqlDataReader read = sqlcom.ExecuteReader();return read;}#endregion
注意:若要创建SqlDataReader,必须调用SqlCommand对象的ExecuteReader方法,而不要直接使用构造函数。在使用SqlDataReader时,关联的SqlConnection正忙于为SqlDataReader服务,对SqlConnection无法执行任何其他操作,只能将其关闭。除非调用SqlDataReader的Close方法,否则会一直处于此状态。例如,在调用Close之前,无法检索输出参数。SqlDataReader的用户可能会看到在读取数据时另一进程或线程对结果集所做的更改。但是,确切的行为与执行时间有关。当SqlDataReader关闭后,只能调用IsClosed和RecordsAffected属性。尽管当SqlDataReader存在时可以访问RecordsAffected属性,但是请始终在返回RecordsAffected的值之前调用Close,以保证返回精确的值。

参考资料:http://www.51cto.com/art/200805/74131.htm

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
...先讲女主的灵魂飘荡了一段时间,然后重生,请问是那本? 拯救者散热器怎么开 电脑如何一键还原系统电脑一键还原怎么操作 神舟笔记本电脑怎么重新设置神舟战神bios恢复出厂设置 神舟电脑恢复出厂设置神舟战神怎么恢复原厂系统 水泥楼梯如何铺木楼梯 家里面楼梯是水泥的不想铺地毯或者地砖还能铺什么 楼梯的水泥台阶上可以铺地板革吗 手机腾讯会议共享屏幕播放视频没声 腾讯会议共享屏幕没声音怎么办 九联unr030n路由器参数 中国银行信用卡app官方下载 太阳信用卡全乐白金卡版 太阳信用卡在什么银行还款 到专业的眼科医院去配个*眼镜,如不将配眼镜的钱算在内,请问需要多少钱? 请专业任职告诉我配隐形眼镜的流程. 昆明哪家配隐形眼镜最专业? 北京什么医院配隐形眼镜最好最专业啊? 我戴我妈的*眼镜戴不进眼里,*眼镜有点大。专业配*眼镜那边有没有小点的*眼镜 ? 微型光谱仪的微型光谱仪应用 一张a4纸里面可以打多少个字(5号)宋体 宋体字是谁发明的?为什么叫宋体字? 163邮件截屏快捷键是什么 请问这是什么字体,有大神知道怎么查字体吗,这是一张图 光纤光谱仪的性能特点有哪些 光纤光谱仪哪款分辨率高? 两张合并一张字太小怎么办 龚一先生古琴教学 琴乐探微 P17_1.17:蠲、叠蠲 光纤光谱仪的介绍 想学古琴,有没有能提供给详细的学习课程的啊 荣耀8X max支持升级到EMUI9吗? 华为荣耀8X max在升级系统以后在口袋里自动开屏,自动操作误操作,真是坑爹呀。如何处理? 荣耀8xmax卡在安装升级包5%怎么办 破*华为荣耀8x max,拉顿的一*还经常升级系统,不升级还*你升级,每次升级要耗费2G流量,有这样垃圾? 荣耀8X升级9.0后好用吗 荣耀8xMax什么时候能升级EMUI9.0 ? 荣耀8xmax工程模式里的升级存诸卡有什么用? 怎么开不了快手直播 快手直播间怎么开,开不了 这个快手直播怎么开不了呢 快手开不了直播修改不了怎么办 社保要怎么转移 富士变频器EF对地故障怎么检修 台达变频器VFD-G上电报EF怎么解决? 罗宾康变频器故障代码EFF10是什么? 台达VFD-B变频器报警EF是什么原因? 如何识别西门子冰箱标志 西门子冰箱显示屏上的雪花代表什么,我家的是西门子双开门的冰箱,最 C# 多表查询时 SqlDataAdapter类的Fill方法里怎么填。 卓依婷的《送大哥》 歌词