標籤:style color io 使用 ar strong for 檔案 資料
前提:
三層中我們已經知道D層主要的作用是針對資料庫,進行基本的操作(資料連線和增刪該查功能)
1、基本的sql語句
查:SELECT 欄位名列表 FROM 資料表名 where"條件"
增 INSERT INTO 表名(欄位名1,欄位名2..)VALUES("運算式1","運算式2")
該 UPDATE 表名 SET 欄位名1 ="運算式1",欄位名2 ="運算式2".... WHERE 欄位名n ="運算式n"
刪:DELETE FORM 表名 where "條件"
例子:
Select UserName ,Level from User_Table where UserID = "1"
Insert into User_Table(UserName,PassWord) values("liangliang","123abc")
Update User_Table set UserName= "liang",PassWord = "123" Where Level = "管理員" //如果沒有where將對錶中所有欄位進行修改。
Delect from User_Table where UserName= "feng"
2 、基本的功能
<span style="font-size:18px;">Imports System.Data '添加相關引用Imports System.Data.SqlClientImports System.ReflectionImports System.ConfigurationPublic Class SqlserverUser '查詢 通過輸入的使用者名稱和密碼作為參數查看User_Table表中是否存在該使用者。 Public Function SelectUserByUserName(ByVal user As Model.User) As Model.User Dim cnStr As String = "server = liangliangPC;database=ComChargeSys;user id = sa;password=123456;" Dim cn As SqlConnection = New SqlConnection(cnStr) Dim sql As String = "select * from User_Table where [email protected] and Password = @Password" Dim cmd As SqlCommand = New SqlCommand(sql, cn) cmd.Parameters.Add(New SqlParameter("@UserName", user.UserName)) cmd.Parameters.Add(New SqlParameter("@Password ", user.PassWord)) cn.Open() Dim reader As SqlDataReader = cmd.ExecuteReader() Dim Duser As Model.User = New Model.User While reader.Read() Duser.UserName = Trim(reader.GetString(reader.GetOrdinal("UserName"))) Duser.PassWord = Trim(reader.GetString(reader.GetOrdinal("PassWord"))) Duser.UserID = Trim(reader.GetString(reader.GetOrdinal("UserID"))) Duser.Level = Trim(reader.GetString(reader.GetOrdinal("Level"))) Duser.Head = Trim(reader.GetString(reader.GetOrdinal("Head"))) End While Return Duser End Function '添加 新使用者到資料庫User_Table表中 Public Sub AddUser(ByVal user As Model.User) Dim conn As String = ConfigurationManager.AppSettings("sqlconnect") '從設定檔中擷取連接字串 Dim cn As SqlConnection = New SqlConnection(conn) Dim sql As String = "insert into User_Table(UserName,PassWord,UserID,Level,Head)values(@UserName,@PassWord,@UserID,@Level,@Head)" Dim cmd As SqlCommand = New SqlCommand(sql, cn) cmd.Parameters.Add(New SqlParameter("@UserName", user.UserName)) cmd.Parameters.Add(New SqlParameter("@PassWord", user.PassWord)) cmd.Parameters.Add(New SqlParameter("@UserID", user.UserID)) cmd.Parameters.Add(New SqlParameter("@Level", user.Level)) cmd.Parameters.Add(New SqlParameter("@Head", user.Head)) cn.Open() cmd.ExecuteNonQuery() MsgBox("使用者註冊成功!") End Sub '也可以使用function過程返回一個boolean值,在B層根據boolean值的true orflase來做出相應的判斷 '修改 User_Table表中的使用者 Public Sub UpdateUser(ByVal user As Model.User) ... '內容與AddUser()中基本相同,只是更改下對應的sql語句,添加對應的參數,即可 End Sub '刪除 User_Table表中的使用者 Public Sub DeleteUser(ByVal user As Model.User) ... '內容與AddUser()中基本相同,只是更改下對應的sql語句,添加對應的參數,即可 End SubEnd Class</span>
3總結:
SqlserverUser類中的四個方法實現對User_Table表的基本操作(增刪改查)。最後的兩個方法Update和Delect在形式上和Add的內容一樣,只是修改下對應的sql語句和參數即可,其他的內容可以通過複製Add方法中的內容實現,
這隻是對一個表的操作中就存在重複的現象,當我們要對別的表進行操作的時候重複的內容將會更多。
編程的一個基本原則就是避免重複,我們要的不是複製而是複用,當採用複製的功能時候第一件要想到的就是代碼的重構。
三層之D層資料庫操作