亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

【轉載】ADO.NET與ROM的比較(1):ADO.NET實現CRUD

2019-11-17 01:54:46
字體:
來源:轉載
供稿:網友

【轉載】ADO.NET與ROM的比較(1):ADO.NET實現CRUD

【轉載】ADO.NET與ROM的比較(1):ADO.NET實現CRUD 轉自周公

說明:個人感覺在java領域大型開發都離不了ORM的身影,所謂的SSH就是SPRing+Struts+Hibernate,除了在學習基礎知識的時候被告知可以使用JDBC操作數據庫之外,大量的書籍中都是講述使用Hibernate這個ORM工具來操作數據。在.NET中操作數據庫的方式有多種,除了最直接的方式就是使用ADO.NET之外,還可以使用NHibernate這個Hibernate在.NET中的實現ORM,如果你對第三方的ORM持懷疑態度,你還可以使用來自微軟的實現、根正苗紅的Linq或者EntityFramework。大部分從早期就開始使用.NET開發的程序員可能對ADO.NET有種迷戀,使用ADO.NET可以充分將我們早期的SQL知識發揮得淋漓盡致,并且出于對性能的考慮,有些人對.NET中的ORM還保持一種觀望態度,包括我自己也是這種態度。不過即使在實際開發中不用,并不代表我們不能去了解和比較這些技術,任何事物的出現和消亡總有其原因的,我們可以了解它們的優點和長處。所以本人抽出了幾個周末的時間分別用ADO.NET、NHibernate、Linq和EntityFramework來實現對數據庫單表數據的創建、讀取、更新和刪除操作,也就是所謂的CRUD(C:Create/R:Read/U:Update/D:Delete)。通過實現相同功能的比較,大家自己判斷那種方式更適合自己。需要說明的是,如果在VS2008中使用EntityFramework就需要安裝VS2008SP1。在開始演示之前先準備好數據,在本系列中所使用的數據庫是SQL Server2005,創建和初始化數據庫數據的代碼如下:/****** 對象: Table [dbo].[UserInfo] 腳本日期: 03/08/2010 12:20:11 ******/

SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOIF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[UserInfo]') AND type in (N'U'))BEGINCREATE TABLE [dbo].[UserInfo]( [UserID] [int] IDENTITY(1,1) NOT NULL, [UserName] [varchar](20) COLLATE Chinese_PRC_CI_AS NOT NULL, [RealName] [nvarchar](8) COLLATE Chinese_PRC_CI_AS NOT NULL, [Age] [tinyint] NOT NULL, [Sex] [bit] NOT NULL, [Mobile] [char](11) COLLATE Chinese_PRC_CI_AS NULL, [Phone] [char](11) COLLATE Chinese_PRC_CI_AS NULL, [Email] [varchar](50) COLLATE Chinese_PRC_CI_AS NOT NULL, CONSTRAINT [PK_UserInfo] PRIMARY KEY CLUSTERED ( [UserID] ASC)WITH (IGNORE_DUP_KEY = OFF))ENDGOIF NOT EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[UserInfo]') AND name = N'IX_UserName')CREATE UNIQUE NONCLUSTERED INDEX [IX_UserName] ON [dbo].[UserInfo] ( [UserName] ASC)WITH (IGNORE_DUP_KEY = ON)GOSET IDENTITY_INSERT [dbo].[UserInfo] ONINSERT [dbo].[UserInfo] ([UserID], [UserName], [RealName], [Age], [Sex], [Mobile], [Phone], [Email]) VALUES (1, N'zhangfei', N'測試859', 36, 1, N'13455663420', N'03517890360', N'zhangfei@msn.com')INSERT [dbo].[UserInfo] ([UserID], [UserName], [RealName], [Age], [Sex], [Mobile], [Phone], [Email]) VALUES (2, N'asddf', N'測試80', 38, 1, N'13455663421', N'03517890361', N'guanyu@163.com')INSERT [dbo].[UserInfo] ([UserID], [UserName], [RealName], [Age], [Sex], [Mobile], [Phone], [Email]) VALUES (3, N'liubei', N'劉備', 42, 1, N'13455663422', N'03517890362', N'liubei@163.net')INSERT [dbo].[UserInfo] ([UserID], [UserName], [RealName], [Age], [Sex], [Mobile], [Phone], [Email]) VALUES (4, N'zhougong', N'周公', 29, 1, N'13455663423', N'03517890363', N'zhoufoxcn@tom.com')INSERT [dbo].[UserInfo] ([UserID], [UserName], [RealName], [Age], [Sex], [Mobile], [Phone], [Email]) VALUES (5, N'zhaoyun', N'趙云', 32, 1, N'13455663424', N'03517890364', N'zhaoyun@sohu.com')INSERT [dbo].[UserInfo] ([UserID], [UserName], [RealName], [Age], [Sex], [Mobile], [Phone], [Email]) VALUES (6, N'huanggai', N'黃蓋', 50, 1, N'13455663425', N'03517890365', N'huanggai@live.com')INSERT [dbo].[UserInfo] ([UserID], [UserName], [RealName], [Age], [Sex], [Mobile], [Phone], [Email]) VALUES (7, N'zhugeliang', N'諸葛亮', 27, 1, N'13455663426', N'03517890366', N'zhugeliang@hotmail.com')INSERT [dbo].[UserInfo] ([UserID], [UserName], [RealName], [Age], [Sex], [Mobile], [Phone], [Email]) VALUES (8, N'jiangwei', N'姜維', 22, 1, N'13455663427', N'03517890367', N'jiangwei@netease.com')INSERT [dbo].[UserInfo] ([UserID], [UserName], [RealName], [Age], [Sex], [Mobile], [Phone], [Email]) VALUES (9, N'caocao', N'曹操', 48, 1, N'13455663428', N'03517890368', N'caocao@QQ.com')INSERT [dbo].[UserInfo] ([UserID], [UserName], [RealName], [Age], [Sex], [Mobile], [Phone], [Email]) VALUES (10, N'guojia', N'郭嘉', 32, 1, N'13455663429', N'03517890369', N'guojia@21cn.com')INSERT [dbo].[UserInfo] ([UserID], [UserName], [RealName], [Age], [Sex], [Mobile], [Phone], [Email]) VALUES (11, N'sunquan', N'孫權', 33, 1, N'13455663430', N'03517890370', N'sunquan@Gmail.com')INSERT [dbo].[UserInfo] ([UserID], [UserName], [RealName], [Age], [Sex], [Mobile], [Phone], [Email]) VALUES (12, N'diaochan', N'貂禪', 20, 0, N'13455663431', N'03517890371', N'diaochan@sina.com.cn')INSERT [dbo].[UserInfo] ([UserID], [UserName], [RealName], [Age], [Sex], [Mobile], [Phone], [Email]) VALUES (13, N'yangyuhuan', N'楊玉環', 24, 0, N'13455663432', N'03517890372', N'yangyuhuang@chinaren.com')SET IDENTITY_INSERT [dbo].[UserInfo] OFF

下面開始演示如何使用ADO.NET實現CRUD功能。一、配置創建一個控制臺或者類庫項目,并且添加一個app.config配置文件,在此文件中添加數據庫配置信息,如下:

<connectionStrings>  <add name="Conn" connectionString="Data Source=zhou;Initial Catalog=aspNetStudy;User ID=sa;PassWord=jerry" />  </connectionStrings> 
View Code

二、創建實體類

using System;  using System.Collections.Generic;  using System.Text;   namespace ADODoNETDemo  {      public class UserInfo      {          /// <summary>           /// 用戶編號           /// </summary>           public int UserId { get; set; }          /// <summary>           /// 用戶名           /// </summary>           public string UserName { get; set; }          /// <summary>           /// 真實姓名           /// </summary>           public string RealName { get; set; }          /// <summary>           /// 年齡          /// </summary>           public byte Age { get; set; }          /// <summary>           /// 性別          /// </summary>          public bool Sex { get; set; }          /// <summary>          /// 電子郵件           /// </summary>          public string Email { get; set; }          /// <summary>          /// 手機號           /// </summary>           public string Mobile { get; set; }          /// <summary>           /// 電話           /// </summary>          public string Phone { get; set; }      }  }  
View Code

三、創建數據庫訪問通用類說明:下面的這個數據庫通用類適用于訪問數據庫中任意表,不管是基于文本方式SQL、參數化SQL語句或者存儲過程都可以。

using System;  using System.Collections.Generic;  using System.Text;  using System.Data;  using System.Data.SqlClient;  using System.Configuration;    namespace ADODoNETDemo  {      /// <summary>       /// 針對SQL Server數據庫操作的通用類       /// 作者:周公       /// 日期:2009-01-08       /// Version:1.0       /// </summary>       public class SqlDbHelper      {          private string connectionString;         /// <summary>          /// 設置數據庫連接字符串           /// </summary>           public string ConnectionString          {             set { connectionString = value; }          }          /// <summary>           /// 構造函數           /// </summary>           public SqlDbHelper()              : this(ConfigurationManager.ConnectionStrings["Conn"].ConnectionString)          {           }          /// <summary>           /// 構造函數           /// </summary>           /// <param name="connectionString">數據庫連接字符串</param>          public SqlDbHelper(string connectionString)          {              this.connectionString = connectionString;          }
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美一区视频在线| 久久久91精品国产一区不卡| 国产成人精品a视频一区www| 欧美性色xo影院| 91国在线精品国内播放| 久久久久久久久综合| 国产日韩欧美日韩大片| 日本免费久久高清视频| 成人a免费视频| 亚洲第一av网站| 国产精品免费久久久久久| 欧美激情精品久久久久久黑人| 一区二区在线视频| 日本午夜在线亚洲.国产| 日韩国产精品一区| 欧美一级成年大片在线观看| 亚洲国产精品网站| 欧美激情2020午夜免费观看| 美女扒开尿口让男人操亚洲视频网站| 97香蕉超级碰碰久久免费软件| 色综合久久天天综线观看| 全亚洲最色的网站在线观看| 欧美成人免费全部观看天天性色| 91国产精品电影| 91精品久久久久久久久久久久久久| 亚洲欧美精品中文字幕在线| 成人在线视频福利| 亚洲大胆美女视频| 国产日韩欧美影视| 亚洲美女中文字幕| 国产精品综合网站| 538国产精品一区二区在线| 亚洲精品一区二三区不卡| 欧美日韩国内自拍| 国产一区二区香蕉| 日韩亚洲在线观看| 国产精品视频网站| 国色天香2019中文字幕在线观看| 欧美精品一区在线播放| 欧美成人在线网站| 亚洲第一区第二区| 欧美性生交xxxxxdddd| 色噜噜久久综合伊人一本| 国产精品自产拍在线观看| 欧美激情欧美狂野欧美精品| 亚洲一区二区免费在线| 日本亚洲精品在线观看| 亚洲精品电影久久久| 亚洲欧洲一区二区三区在线观看| 欧美精品免费看| 91久久精品美女高潮| 亚洲人成网站免费播放| 国产色视频一区| 国产一区二区视频在线观看| 久久久久久久久久久亚洲| 色系列之999| 国产成人黄色av| 伊人久久男人天堂| 欧美日韩综合视频| 亚洲精品99久久久久中文字幕| 日韩欧美在线视频观看| 两个人的视频www国产精品| 欧美午夜丰满在线18影院| 亚洲片av在线| 欧美成在线视频| 一区二区三区久久精品| 日本人成精品视频在线| 国产aⅴ夜夜欢一区二区三区| 69视频在线免费观看| 欧美亚洲成人网| 欧美夫妻性生活xx| 51精品在线观看| 国产视频一区在线| 亚洲深夜福利视频| 中文字幕av一区| 国产一区深夜福利| 亚洲国产精品久久久久久| 一区国产精品视频| 久久精品视频在线观看| 中文字幕国产精品久久| 日韩中文字幕在线视频| 亚洲激情第一页| 欧美成人精品影院| 久久久久亚洲精品成人网小说| 久久免费精品视频| 欧美老女人性生活| 久久久久久这里只有精品| 久久久精品影院| 日本国产欧美一区二区三区| 欧美激情图片区| 精品久久久久久久久久国产| 亚洲精品乱码久久久久久金桔影视| 亚洲福利视频专区| 久久久久久久影院| 国产精品日日做人人爱| 国产大片精品免费永久看nba| 日韩高清中文字幕| 国产精品吹潮在线观看| 欧美精品久久久久久久久| 亚洲免费人成在线视频观看| 91精品免费看| 伦伦影院午夜日韩欧美限制| 国产精品69久久久久| 91在线网站视频| 欧美专区日韩视频| 亚洲成人激情图| 日韩av电影手机在线观看| 国产精品午夜国产小视频| 国产亚洲成精品久久| 亚洲国产中文字幕在线观看| 国产精品一区二区久久国产| 91成人精品网站| 亚洲自拍小视频| 国产精品久久久久久网站| 欧美日韩黄色大片| 日韩精品在线影院| 欧美一级免费视频| 日韩av影片在线观看| 色樱桃影院亚洲精品影院| 富二代精品短视频| 97超碰色婷婷| 精品亚洲精品福利线在观看| 亚洲精品久久久久中文字幕二区| 国产精品啪视频| 国产一区二区三区在线播放免费观看| 国产69精品久久久久9999| 国产视频自拍一区| 亚洲国产精品va在线看黑人动漫| 欧美精品激情在线| 欧美激情视频三区| 岛国精品视频在线播放| 欧美综合第一页| 在线免费看av不卡| 亚洲视频欧洲视频| www国产亚洲精品久久网站| 91影视免费在线观看| 亚洲高清不卡av| 九九热这里只有精品免费看| 色99之美女主播在线视频| 亚洲成人在线视频播放| 欧美精品少妇videofree| 国产欧美日韩免费看aⅴ视频| 81精品国产乱码久久久久久| 狠狠躁夜夜躁久久躁别揉| 国产精品1区2区在线观看| 欧美精品在线播放| 精品日本美女福利在线观看| 欧美精品xxx| 91九色视频在线| 色婷婷av一区二区三区在线观看| 国内精品400部情侣激情| 亚洲一区二区免费| 亚洲国产精品小视频| 91精品视频在线| 91在线视频免费| 97超级碰碰碰| 久久99久久亚洲国产| 黑人精品xxx一区| 欧美亚洲视频一区二区| 精品小视频在线| 成人免费黄色网| 亚洲欧美日韩中文在线| 国产成人高清激情视频在线观看| 色与欲影视天天看综合网|