三層之D層資料庫操作

來源:互聯網
上載者:User

標籤: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層資料庫操作

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.