设为首页 加入收藏

TOP

三层之D层数据库操作(一)
2015-07-20 17:38:10 来源: 作者: 【 】 浏览:7
Tags:数据库 操作
前提:
三层中我们已经知道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 、基本的功能

Imports System.Data ? '添加相关引用
Imports System.Data.SqlClient
Imports System.Reflection
Imports System.Configuration


Public 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 UserName=@UserName 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 Sub


End Class

3总结:
SqlserverUser类中的四个方法实现对User_Table表的基本操作(增删改查)。最后的两个方法Update和Delect在形式上和Add的内容一样,只是修改下对应的sql语句和参数即可,其他的内容可以通过复制Add方法中的内容实现,
这只是对一个表的操作中就存在重复的现象,当我们要对别的表进行操作的时候重复的内容将会更多。
编程的一个基本原则就是避免重复,我们要的不是复制而是复用,当采用复制的功能时候第一件要想到的就是代码的重构。

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇HDU 5025 Saving Tang Monk(bfs) 下一篇NYoj-分数加减法

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Java 学习线路图是怎 (2025-12-25 15:19:15)
·关于 Java 学习,有 (2025-12-25 15:19:12)
·有没有Java swing教 (2025-12-25 15:19:09)
·Start, Stop, and Di (2025-12-25 14:50:57)
·C语言入门教程:零基 (2025-12-25 14:50:54)