您的位置:首页 > 其它

ADO.NET数据访问方式:强类型DataSet

2011-09-18 19:45 447 查看
使用VS自动生成DataSet (强类型)

添加→新建项→数据集

将表(表必须有主键)从服务器资源管理器拖放到DataSet中(拖放过程根据表单结构自动生成强类型DataSet等类/并没有将数据拖过来/并自动数据库连接写在App.Config中)

常见问题: 类内部定义的类要通过包含namespace的全名来引用(不能省略)/类内部定义类就能避免同一namespace下类不能重名的问题

服务器连接(ConnectionString): 数据连接(服务器资源管理器中)右键→添加连接(本地/异地数据库服务器及数据库)/T_UserTableAdapter的Connection属性: 显示连接信息

服务器连接(ConnectionString)的修改: ①App.Config②Properties.Settings

DataSet(强类型)

生成与数据库交互的类(类名: 表名+类名)

T_User→T_UserTableAdapter→项目名.数据集.T_UserDataTable

T_UserTableAdapter.GetData()方法: 获得T_UserDataTable

强类型DataSet1.DataSetPersons

强类型DataSet1.DataSetPersons.T_PersonsDataTable

强类型DataSet1.DataSetPersons.T_PersonsRow

强类型DataSet1.DataSetPersonsTableAdapters.T_PersonsTableAdapter

强类型DataSet1.DataSetPersonsTableAdapters.TableAdapterManager



//拖动时生成namespace: 强类型DataSet1.DataSetPersonsTableAdapters{} 故T_PersonsTableAdapter可直接使用/而T_PersonsDataTable定义在DataSetPersons类内部 所以需要引用全名

DataSet(强类型)的更新

T_PersonsTableAdapter.Update(): 更新(要求表必须有主键)

设主键 DataSet(强类型)自动生成T_PersonsTableAdapter.UpdateCommand/.DeleteCommand/.InsertCommand等

服务器资源管理器中的表有改动时DataSet(强类型)的同步: ①删掉重新拖拽②DataSetT_Persons.xsd(视图)中T_Persons上右键→配置(查询生成器/完成)

Update/GetData/Insert/Delete:

T_PersonsTableAdapter.Update()

T_PersonsTableAdapter.GetDate()

T_PersonsTableAdapter.Insert(“jim”,20)

T_PersonsTableAdapter.Delete(id,name,age)

DataSet(强类型)空值判断: T_PersonsRow.IsNameNull //bool类型

DataSet(强类型)增加自定义SQL语句

DataSetT_Persons.xsd(视图)中T_Persons右键→添加→Query→使用SQL语句→select(返回行)/select(返回单值)/update/delete/insert→生成新的方法

方法的参数: SQL中@参数

调用: T_PersonsTableAdapter.新方法名()

DataSet(强类型)原理之Connection

DataSet(强类型)默认每次调用方法都打开 操作 关闭连接(打开之前检查是否为打开 是则不再打开/操作完成之后检查打开之前是否为打开 是则不再关闭)

手动打开 关闭连接(T_UsersTableAdapter.Connection.Open): 对于批量操作将大量节省时间
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: