VB.NET与 sql数据库
数据蕴含丰富的信息,数据就是资源。
不同的语言,因为各自的语法特点。对sql数据库的连接操作有些小差别。但有一点,那就是。对sql数据库的操作语句sql语句大体是一样的。
这段时间正进行VB.NET的学习,说实话,在最開始的时候,确实会感觉到比較难下手。在此之前,学习的是C#。从C#到VB.NET,弯不大。但有点急。现将一些VB.NET中sql数据库的增、删、改、查总结一下。方便自己以后查询,也为刚接触VB.NET的朋友提供小小參考。
对于这些语句。就是一个熟练过程,很多其它的是运用而不是记忆。以下看看VB.NET实现增删改查的整个过程及相应实例。
查寻数据:SELECT 返回的记录1、记录2、记录3……[或*] FROM 表名 WHERE 字段名 =’ ”变量名” ’
插入数据:INSERT INTO 表名 (字段名1,字段名2。字段名3……) Values(@字段名1,@字段名2,@字段名3……)
更新数据:UPDATA 表名 SET <字段名1=參数名1> <, 字段名2=參数名2> <, ……> WHERE <条件1> <,条件2> <,条件2>
删除数据:DELETE FROM <表名> WHERE < 条件>
相应一些实例
(1)查找数据
(採用:拼接字符串法)
Function selectLogon(ByVal User As Entity.LogonEntity) As Entity.LogonEntity
Dim cmd_Logon As New SqlCommand '实例化一个命令对象
Dim sqlconnection_Logon = New SqlConnection(DbUtil.sqlConcectStr) '实例化带条件的一个数据库连接对象
cmd_Logon.Connection = sqlconnection_Logon '创建连接命令
sqlconnection_Logon.Open() '运行连接。将数据库打开 '建立查询语句
cmd_Logon.CommandText = "SELECT * FROM T_Logon WHERE CardID = '" & User.CardID & "' " Dim reader As SqlClient.SqlDataReader '建立读数据对象
reader = cmd_Logon.ExecuteReader '对象逐条读 Dim users As New Entity.LogonEntity
While (reader.Read()) '循环读数据
If users Is Nothing Then
users = New Entity.LogonEntity
End If
users.ID = reader.GetValue(reader.GetOrdinal("UserID")) '读取数据,赋给新实体
users.CardID = reader.GetValue(reader.GetOrdinal("CardID"))
users.UserName = reader.GetValue(reader.GetOrdinal("UserName"))
users.Sex = reader.GetValue(reader.GetOrdinal("Sex"))
users.Department = reader.GetValue(reader.GetOrdinal("Department"))
users.Grade = reader.GetValue(reader.GetOrdinal("Grade"))
users.InCash = reader.GetValue(reader.GetOrdinal("InCash")) End While
sqlconnection_Logon.Close()
Return users
End Function
(2)插入数据
(採用:參数法)
Function InsertUp_Doing(ByVal User As Entity.MainEntity) As Boolean
Dim cmd_insert_updoing As New SqlCommand
Dim sqlconnection_updoing As New SqlConnection(DbUtil.sqlConcectStr) cmd_insert_updoing.Connection = sqlconnection_updoing '插入语句
cmd_insert_updoing.CommandText = "INSERT INTO T_Updoing (CardID) Values(@CardID)" '參数法
cmd_insert_updoing.Parameters.Add(New SqlParameter("@CardID", User.CardID)) sqlconnection_updoing.Open()
cmd_insert_updoing.ExecuteNonQuery() sqlconnection_updoing.Close() Return True
End Function
(3)更新数据
(採用:拼接字符串 法)
Function update_updown(ByVal User As Entity.MainEntity) As Boolean
Dim OK_NO_updown As Boolean Dim cmd_update_updown As New SqlCommand
Dim sqlconnection_updown As New SqlConnection(DbUtil.sqlConcectStr) '依据“学号”、“状态”条件更新
cmd_update_updown.Connection = sqlconnection_updown
cmd_update_updown.CommandText = "UPDATE T_UpDown " & _
"SET Downdatetime = @Downdatetime , Downtime = @Downtime , Consumetime = @Consumetime" & _
" , ConsumeCash = @ConsumeCash , Remaincash = @Remaincash " & _
"WHERE CardID = '" & User.CardID & "'"
cmd_update_updown.CommandType = CommandType.Text
sqlconnection_updown.Open() '打开连接
'加入參数
cmd_update_updown.Parameters.Add(New SqlParameter("@Downdatetime", User.Downdatetime))
cmd_update_updown.Parameters.Add(New SqlParameter("@Downtime", User.Downtime))
cmd_update_updown.Parameters.Add(New SqlParameter("@Consumetime", User.Timeconsume))
cmd_update_updown.Parameters.Add(New SqlParameter("@ConsumeCash", User.Cashconsume))
cmd_update_updown.Parameters.Add(New SqlParameter("@Remaincash", User.Cashremain)) cmd_update_updown.ExecuteNonQuery()
sqlconnection_updown.Close() Return OK_NO_updown = True
End Function
(4)删除数据
(採用:拼接字符串法[CardID =' " & User.CardID & " ' ])
Function deleteUp_doing(ByVal User As Entity.MainEntity) As Boolean
Dim OK_NO_down As Boolean Dim cmd_delete_updoing As New SqlCommand
Dim sqlconnection_delectupdoing As New SqlConnection(DbUtil.sqlConcectStr)
sqlconnection_delectupdoing.Open()
cmd_delete_updoing.Connection = sqlconnection_delectupdoing cmd_delete_updoing.CommandText = "DELETE FROM T_Updoing WHERE CardID ='" & User.CardID & "'" cmd_delete_updoing.ExecuteNonQuery() sqlconnection_delectupdoing.Close() Return OK_NO_down = True End Function
在VB.NET中,与我之前使用一年前使用VB相比,多了用參数法。查了一些资料,告知,用參数法能降低错误的产生,增强安全性。
上面的代码中,传參採用的是传实体的方式。在VB.NET中,与实体代码更具自己主动性,与C#中实体相比,这也体现了一定的优越性。
VB.NET与 sql数据库的更多相关文章
- VB中上传下载文件到SQL数据库
VB中上传下载文件到SQL数据库 编写人:左丘文 2015-4-11 近期在修改一个VB编写的系统时,想给画面增加一个上传文件到数据库,并可以下载查看的功能,今天在这里,我想与大家一起分享代码,在此做 ...
- [转]SQL数据库查询到的汉字字段是乱码
使用英文版SQL数据库查询到的汉字字段是乱码的解决方案 2007-12-04 14:55:45 标签:函数 SQL 数据库 乱码 排序规则 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出 ...
- KTV项目 SQL数据库的应用 结合C#应用窗体
五道口北大青鸟校区 KTV项目 指导老师:袁玉明 歌曲播放原理 SQL数据库关系图 C#解决方案类图 第一步:创建数据库连接方法和打开方法和关闭方法! public class DBHelper { ...
- jquery autocomplete实现读取sql数据库自动补全TextBox
转自我本良人 原文 jquery autocomplete实现读取sql数据库自动补全TextBox 项目需要这样子一个功能,其他部门提的意见,只好去实现了哦,搞了好久才弄出来,分享一下. 1.前台页 ...
- SQL数据库
SQL是Structured Query Language(结构化查询语言)的缩写.SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言.在使用它时,只需要发出“做什么”的命令,“怎么做” ...
- 基于Qt5.5.0的sql数据库、SDK_tts文本语音朗读的CET四六级单词背诵系统软件的编写V1.0
作者:小波 QQ:463431476 请关注我的博客园:http://www.cnblogs.com/xiaobo-Linux/ 我的第二款软件:CET四六级单词背诵软件.基于QT5.5.0.sql数 ...
- matlab连接sql数据库
最近项目还涉及到matlab连接数据库,下面我就记录如何进行配置使得matlab能够连接sql数据库.由于最近工程做的多一些,所以分享的都在工程配置上,当初为了这些配置可是反复卸载与重装,算法其实也有 ...
- SQL SERVER 2008配置Database Mail –用SQL 数据库发邮件
SQL SERVER 2008配置Database Mail –用SQL 数据库发邮件 https://blogs.msdn.microsoft.com/apgcdsd/2011/06/28/sql ...
- Eclipse连接到My sql数据库之前操作
Eclipse连接到My sql数据库之前操作 1:首先是安装My sql数据库(为了减少你的麻烦,按照下面的连接,下载即可)百度云链接:http://pan.baidu.com/s/1mitWmbm ...
随机推荐
- 【UOJ #179】线性规划 单纯形模板
http://uoj.ac/problem/179 终于写出来了单纯性算法的板子,抄的网上大爷的qwq 辅助线性规划找非基变量时要加个随机化才能A,我也不知道为什么,卡精度吗? 2017-3-6UPD ...
- 【BZOJ 3309】DZY Loves Math
http://www.lydsy.com/JudgeOnline/problem.php?id=3309 \[\sum_{T=1}^{min(a,b)}\sum_{d|T}f(d)\mu(\frac ...
- [BZOJ4709][JSOI2011]柠檬(斜率优化DP)
显然选出的每一段首尾都是相同的,于是直接斜率优化,给每个颜色的数开一个单调栈即可. #include<cstdio> #include<vector> #include< ...
- 【欧拉回路】Play On Words(6-16)
[UVA10129]Play On Words 算法入门经典第6章6-16(P169) 题目大意:有一些单词,问能不能将它们串成字符串(只有前缀和后缀相同才能连) 试题分析:很巧妙的一道题,将每个单词 ...
- 【推导】【凸包】MIPT-2016 Pre-Finals Workshop, Taiwan NTU Contest, Sunday, March 27, 2016 Problem D. Drawing Hell
平面上n个点,两个人交替决策,用线段连接两个点,但不能跨越其他点或者已经存在的线段.不能做的人算输,问你谁赢. 实际上,跟两个人的决策无关,n个点将平面三角剖分,只需要算出有几条边即可. 凸包上如果有 ...
- 【FFT】hdu1402 A * B Problem Plus
FFT板子. 将大整数看作多项式,它们的乘积即多项式的乘积在x=10处的取值. #include<cstdio> #include<cmath> #include<cst ...
- 浅析HashMap和Hashtable的区别
HashMap和Hashtable两个类都实现了Map接口,二者保存键值对(key-value对): HashMap和HashTable区别 第一,继承的父类不同.HashMap继承自Abstract ...
- DOM操作(一)
DOM中比较常用的类型有Element类型,Text类型,Attr类型,Comment类型(注释),Document类型(文档),DocumentFragment类型. Element类型 提供了对元 ...
- WPF中的动画——(五)路径动画
路径动画是一种专门用于将对象按照指定的Path移动的动画,虽然我们也可以通过控制动画的旋转和偏移实现对象的移动,但路径动画更专业,它的实现更加简洁明了. 路径动画中最常用的是MatrixAnimati ...
- 安装Ubuntu Linux分区的推荐方案和方法
在安装Ubuntu Linux之前,你必须先取得安装软件,(网络上有许多mirror站台可供下载,下载ISO文件后自行刻录光盘或采用硬盘安装).当一切都准备就绪后,我们还得先了解该如何规划我们的硬盘. ...