麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

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

【轉載】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'[email protected]')INSERT [dbo].[UserInfo] ([UserID], [UserName], [RealName], [Age], [Sex], [Mobile], [Phone], [Email]) VALUES (2, N'asddf', N'測試80', 38, 1, N'13455663421', N'03517890361', N'[email protected]')INSERT [dbo].[UserInfo] ([UserID], [UserName], [RealName], [Age], [Sex], [Mobile], [Phone], [Email]) VALUES (3, N'liubei', N'劉備', 42, 1, N'13455663422', N'03517890362', N'[email protected]')INSERT [dbo].[UserInfo] ([UserID], [UserName], [RealName], [Age], [Sex], [Mobile], [Phone], [Email]) VALUES (4, N'zhougong', N'周公', 29, 1, N'13455663423', N'03517890363', N'[email protected]')INSERT [dbo].[UserInfo] ([UserID], [UserName], [RealName], [Age], [Sex], [Mobile], [Phone], [Email]) VALUES (5, N'zhaoyun', N'趙云', 32, 1, N'13455663424', N'03517890364', N'[email protected]')INSERT [dbo].[UserInfo] ([UserID], [UserName], [RealName], [Age], [Sex], [Mobile], [Phone], [Email]) VALUES (6, N'huanggai', N'黃蓋', 50, 1, N'13455663425', N'03517890365', N'[email protected]')INSERT [dbo].[UserInfo] ([UserID], [UserName], [RealName], [Age], [Sex], [Mobile], [Phone], [Email]) VALUES (7, N'zhugeliang', N'諸葛亮', 27, 1, N'13455663426', N'03517890366', N'[email protected]')INSERT [dbo].[UserInfo] ([UserID], [UserName], [RealName], [Age], [Sex], [Mobile], [Phone], [Email]) VALUES (8, N'jiangwei', N'姜維', 22, 1, N'13455663427', N'03517890367', N'[email protected]')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'[email protected]')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'[email protected]')INSERT [dbo].[UserInfo] ([UserID], [UserName], [RealName], [Age], [Sex], [Mobile], [Phone], [Email]) VALUES (13, N'yangyuhuan', N'楊玉環', 24, 0, N'13455663432', N'03517890372', N'[email protected]')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;          }
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 搜一级毛片 | 欧美a在线 | 久久午夜免费视频 | 在线播放中文 | 久久蜜桃香蕉精品一区二区三区 | 毛片在线免费观看视频 | 国产91九色视频 | 鲁久久 | 精品一区二区三区中文字幕老牛 | 九九视屏| 欧美日韩高清一区二区三区 | 欧美人与牲禽动交精品一区 | 蜜桃av鲁一鲁一鲁一鲁 | 49vvv| 伊人yinren22综合网色 | 成人国产精品免费 | 国产免费黄色 | 亚洲综合视频在线播放 | 久久久久久久一区 | 免费观看黄色一级视频 | 亚洲aⅴ免费在线观看 | 亚洲一区二区三区在线看 | 激情av在线 | 97久色| 免费观看一区 | 日韩一级免费毛片 | 男女羞羞在线观看 | 欧美成人理论片乱 | 国产xxxx岁13xxxxhd | 多人乱大交xxxxx变态 | 欧美成人精品h版在线观看 国产一级淫片在线观看 | 日韩电影av在线 | 线观看免费完整aaa 一二区成人影院电影网 | av观看国产| 97中文字幕第一一一页 | 牛牛热这里只有精品 | 香蕉久草在线 | 午夜爽爽爽男女免费观看hd | 久久国产精品久久精品国产演员表 | 久久人人爽人人爽人人片av高清 | 亚洲精品aa |