结构化查询语言简称SQL,SQL是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。SQL语言主要有四个部分:数据定义语言、数据操纵语言、嵌入式SQL语言的使用规定、数据控制语言。今天我们介绍其中的一部分,数据操纵语言——增、删、改、查。

SQL语言是一种交互式查询语言,允许用户直接查询存储数据,但它不是完整的程序语言,如它没有DO或FOR类似的循环语句,因此它可以嵌入到另一种语言中,借用VB、VB.NET、C、JAVA等高级语言对关系数据库进行操作。在做学生管理系统和机房收费系统时,我们配置ODBC用于连接数据库与VB,在模块中定义函数ExecuteSQL用于执行SQL语句。等做好这些工作后,我们就可以在VB中对数据库进行操作了。下面介绍一下在VB中如何利用SQL语句操纵数据库。

一、数据查询(以查询学生信息为例)

简单查询语句可通过Select语句限定数据源来实现。在Select语句中使用关键字、字句等。

例1 比较条件查询

 txtsql = "select * from student_info where cardno= '" & txtCardNO & "'"     '查询student_info中cardno为某一限定值的记录set mrc = ExecuteSQL(txtsql,msgtext)                       '执行SQL语句   

例2  计算查询结果

在机房收费系统中的实现结账功能的代码中用到了此类代码:

 <span style="white-space:pre"> </span>txtsql = "select sum(addmoney) from recharge_info where date = '" & Date & "'"     '查询Recharge_info中addmoney字段值的综合  <span style="white-space:pre">   </span>Set mrc = ExecuteSQL(txtsql, msgtext)                         '执行SQL语句<span style="white-space:pre">    </span>txtRechargeCash.Text=mrc.fields(0)                            '将查询出来的结果赋值给文本框

以上的两个例子中的Where子句是Select语句中最常用的限定条件,另外还有AS子句、Like子句等。虽然,Select查询语句有很多种,但它们共通的一点是只要查询某一特定的记录时,在Select查询语句中就会出现限定条件。

二、数据注入(已添加学生信息为例)

1、我们在VB中引用ADO实现访问所用到的数据中的数据,通过AddNew方法添加一条新的记录,再通过Update方法保存当前的记录。

 txtsql = "select * from student_info "                                 '查询出student_info表set mrc = ExecuteSQL(txtsql,msgtext)                   '执行SQL语句mrc!StuNO=Trim(txtStuNo.Text)mrc!StuName=Trim(txtStuName.Text)mrc!Class=Trim(txtClass.Text):                        :
<span style="white-space:pre">                                     </span>'向数据库中添加信息mrc.Update      '更新数据库

2、使用Insert 语句向数据库注入数据

        txtsql = "insert into student_info(Student_ID,Student_Name,Student_Sex,ClassNo,Grade,born_date,ru_date)"  values ('" & txtStuID & "','" & txtName & "','" & txtSex & "','" & txtClassNO & "','" & txtGrade & "','" & txtborn_date & "','" & txtRuDate & "')"     <span style="white-space:pre">             </span>'向student_info中注入数据set mrc = ExecuteSQL(txtsql,msgtext)         <span style="white-space:pre">      </span> <span style="white-space:pre">   </span>'执行SQL语句

用Insert语句往数据库中注入数据的时候,要做到每一个字段与文本框的值一一对应,否则数据库注入数据时就会出现错误。

另外,还有两个注意的地方:

1、如果向表中特定的字段中插入数据时,在Insert语句中应该把字段指定出来,如:

     txtsql = "insert into student_info(Student_ID,Student_Name,Student_Sex" & value ('" & txtStuID & "','" & txtName & "','" & txtSex & "')"            '向student_info表中student_id,student-name,student_sex列中插入数据Set mrc = ExecuteSQL(txtsql,msgtext) <span style="white-space:pre">                                                     </span>'执行SQL语句

2、如果表中包含主键,请确保唯一的非Null值注入到主键字段,否则数据库无法注入数据。

三、数据删除(以删除学生信息为例)

1、我们在VB中引用ADO实现访问所用到的数据中的数据,通过Delete方法删除一条记录,再通过Update方法更新当前的记录。

 txtsql="select * from student_info where cardno = '" & txtCardNo & "'"  '选择一条指定的记录set mrc =ExecuteSQL(txtsql,msgtext)                 '执行SQL语句mrc.Delete                             '将其删除mrc.Update

2、使用Delete语句,不仅可以删除指定的一条或多条记录,也可以将表中所有记录删除

 txtsql="delete student_info where cardno= '" & txtCardNo & "'"          '删除student_info表中指定cardno字段的值的一条记录set mrc = ExecuteSQL(txtsql,msgtext)                        '执行SQL语句
 txtsql="delete student_info "                            "删除student_info表中所有记录set mrc = ExecuteSQL(txtsql,msgtext)                     '执行SQL语句

四、数据修改(以修改学生信息为例)

1、我们利用Select语句查询出所要修改的记录,修改其某一字段的值,再通过Update方法更新所修改的记录。

 txtsql = " select * from student_info where cardno= '" & txtCardno & "'"        '查询出要修改的记录Set mrc =ExecuteSQL(txtsql,msgtext)                         '执行SQL语句mrc!Name=Trim(txtName.Text)mrc!StuNO=Trim(txtStuNo.Text)mrc!Class=Trim(txtClass.Text)                               '修改数据信息mrc.Update                                      '更新数据库

2、直接利用Update语句修改数据信息

 txtsql = " Update student_info Set Name= '" & txtName & "',StuNo = '" & txtStuNo & "',Class= '" & txtClass & "' where cardno= '" & txtCardNo & "'where cardno= '" & txtCardno & "'"             '修改指定记录的数据Set mrc =ExecuteSQL(txtsql,msgtext)

VB中的SQL语句可以实现直接对数据库进行操纵,也可以弥补SQL不是完整的程序化语言这一缺点。那么,我们不禁在想在VB和SQL Server中的SQL语句有何不同呢?现在,我们来看一下SQL Server中的SQL语句(增、删、改、查)各自的语法。

 Select 语句Select * from 表名称 where 列名称=某值

        insert 语句Insert into 表名称(例1,例2,....)values (值1,值2,.....)

update 语句  Update 表名称 set 列名称=新值 where 列名称=某值

delete语句Delete from 表名称 where 列名称=某值

从这篇文章不难看出,在VB中操作SQL语句其实与在SQL Server中是一样的。我们在SQL Sever中的SQL语句正确,那么在VB中,我们将VB控件(文本框、标签、组合框等)中的值赋予某一限定条件就行了。

VB中的SQL语言——增、删、改、查相关推荐

  1. 表单的增 删 改 查

    django单表操作 增 删 改 查 一.实现:增.删.改.查 1.获取所有数据显示在页面上 model.Classes.object.all(),拿到数据后,渲染给前端;前端通过for循环的方式,取 ...

  2. properties(map)增.删.改.查.遍历

    import java.util.Map; import java.util.Properties; import java.util.Set;/*** properties(map)增.删.改.查. ...

  3. python学生姓名添加删除_python-函数-实现学生管理系统,完成对学员的增,删,改,查和退出学生管理系统。...

    实现学生管理系统,完成对学员的增,删,改,查和退出学生管理系统. 要求1:使用一个list用于保存学生的姓名. 要求2:输入0显示所有学员信息,1代表增加,2代表删除,3代表修改,4代表查询,exit ...

  4. PySpark︱DataFrame操作指南:增/删/改/查/合并/统计与数据处理

    笔者最近需要使用pyspark进行数据整理,于是乎给自己整理一份使用指南.pyspark.dataframe跟pandas的差别还是挺大的. 文章目录 1.-------- 查 -------- -- ...

  5. Linux技术--mysql数据库增-删-改-查

    # mysql 数据库 ## 数据库的操作 ### 五个单位 * 数据库服务器   Linux或者 windows  * 数据库  * 数据表 * 数据字段 * 数据行 ### 连接数据库 ``` 1 ...

  6. 学生信息管理系统——JAVA 语言版(主页面+增+删+改+查+退)

    学生信息管理系统 前言 一.问题分析 二.学生信息管理系统程序实现思路 三.Student类的创建 程序思路 Student类代码 四.StudentManager类的创建 程序思路 StudentM ...

  7. 简单的php数据库操作类代码(增,删,改,查)

    数据库操纵基本流程为: 1.连接数据库服务器 2.选择数据库 3.执行SQL语句 4.处理结果集 5.打印操作信息 其中用到的相关函数有 •resource mysql_connect ( [stri ...

  8. list 增 删 改 查 及 公共方法

    1 # 热身题目:增加名字,并且按q(不论大小写)退出程序 2 li = ['taibai','alex','wusir','egon','女神'] 3 while 1: 4 username = i ...

  9. pyRedis - 操作指南:增/删/改/查、管道与发布订阅功能

    文章目录 1 redis docker 部署与安装 2 py - redis的使用 2.1 redis的连接 2.2 常规属性查看 2.2.2 关于删除 2.3 STRING 字符串的操作 2.4 H ...

最新文章

  1. Java第一天学习笔记整理
  2. 微信token验证失败的解决方法
  3. javax.validation.ParameterNameProvider
  4. Quartz-异常处理
  5. [系统安全] 四十五.APT系列(10)Metasploit后渗透技术信息收集、权限提权和功能模块详解
  6. 升级Jenkins镜像,支持.NET6.0
  7. privoxy支持同时代理多少个_使用ssh隧道+privoxy实现Linux全局代理
  8. CVPR 2020|华为发布基于连续进化的CARS算法,0.4GPU天输出帕累托前沿
  9. github.com/oschwald/maxminddb-golang 安装报错
  10. Android商城开发系列(一)——开篇
  11. Python调用(运行)外部程序参数问题
  12. 2019款新iPhone发布时间曝光:依旧9月12日亮相?
  13. vue 结合swiper插件实现广告公告上下滚动的效果
  14. 前端框架 Angular 11.0.0 正式发布,已经放弃 IE 9 、10
  15. vc linux 中文版下载64位,vc2015运行库64位-vc++ 2015运行库64位下载 v14.0.23026官方版--pc6下载站...
  16. 公开的Webservice集锦
  17. C盘快要满啦-给Windows10优化瘦身
  18. 《车间调度及其遗传算法》学习——前言
  19. ACOPTools:一步步帮你快速、高效构建多基因联合系统发育树
  20. video autoplay失效

热门文章

  1. 软件测试全套教程,2020年全新软件测试学习路线图
  2. Mysql数据库基本操作(七)多表查询-子查询,表自身关联查询
  3. DS|数据结构||第五章小结
  4. java对用户名密码加密_Spring security实现对账户进行加密
  5. 联想拯救者R720安装win10和ubuntu14.04双系统
  6. 洛谷---P1553 数字反转(升级版)
  7. 如何将本地文件通过终端上传到apache上(压缩文件)
  8. 迷你辦公室 迷你寫字樓 商務寫字樓 商務中心
  9. c语言和线性代数哪个难,学编程数学到底有多重要?线性代数能否视为一门程序语言呢?...
  10. mysql 恢复数据库乱码了_再谈MySQL数据库备份恢复和乱码问题