这部分内容是入学自学视频中ado.net没有的内容. SqlDataAdapter是DataSet和数据库之间沟通的桥梁。数据集DataSet包含若干表DataTable,DataTable包含若干行DataRow。foreach(DataRow row in dataset.Tables[0].Rows) row["Name"]。 封装一个SQLHelper类方便使用,提供ExecuteDataTable(stringsql,params SqlParameter[] parameters)、ExecuteNonQuery(string sql,params SqlParameter[]parameters)、 ExecuteScalar(string sql,params SqlParameter[]parameters)等方法。 弱类型DataSet的缺点: 只能通过列名引用, 取到的字段的值是object类型,必须小心翼翼的进行类型转换,不仅麻烦,而且容易出错。运行时才能知道所有列名,数据绑定麻烦,无法使用Winform、ASP.Net的快速开发功能。 VS自动生成强类型DataSet 添加→新建项→数据集 将表从服务器资源管理器拖放到DataSet中。注意拖放过程是自动根据表结构生成强类型DataSet等类,没有把数据也拖过来,程序还是连的那个数据库,自动将数据库连接字符串写在了App.Config中。 强类型DataSetd 优点太多了 就不一一列出来了 需要注意的是,生成的强类型TableAdapter默认每次调用方法都是打开连接、执行、关闭连接,而如果操作之前连接已经打开则不会自动帮我们连接、关闭,因此如果想批量操作提高效率可以操作之前先自己Open,操作完毕再Close。经测试:插入三千条数据,不优化用了45秒,优化后只用一两秒 |