加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 电商 > 正文

关于ODBC数据源毗连文本

发布时间:2018-08-19 03:33:37 所属栏目:电商 来源:站长网
导读:关于ODBC数据源毗连文本 在《外部数据库的毗连道理》一讲中我们说过,ODBC提供对多种数据库的支持,如dBase、Access、MS SQL Server及Oracle,也就是说运用ODBC数据源中所提供的毗连代码,我们可以实现对多种数据库的毗连。以毗连Access数据库为例,ODBC数
关于ODBC数据源毗连文本

  在《外部数据库的毗连道理》一讲中我们说过,ODBC提供对多种数据库的支持,如dBase、Access、MS SQL Server及Oracle,也就是说运用ODBC数据源中所提供的毗连代码,我们可以实现对多种数据库的毗连。以毗连Access数据库为例,ODBC数据源毗连文本的名目是:
  “Driver={数据库驱动措施};Dbq=数据库文件;”

  在以上毗连文本中,假如数据库跟措施在统一目次下,可能用变量DefaultDir指定了数据库地址目次,则数据库文件可以不消全路径名,如下即可:

  “ODBC;DBQ=MSAccess.mdb;Driver={Microsoft Access Driver (*.mdb)};”

  如下也可:

  “ODBC;DBQ=MSAccess.mdb;DefaultDir=d:Downloadse21;Driver={Microsoft Access Driver (*.mdb)};”

  假如数据库跟措施不在统一目次下,可能没有效变量DefaultDir指定命据库地址目次,则数据库文件必要用全路径名,如下:

  “ODBC;DBQ=E:Quake III ArenaMSAccess.mdb;Driver={Microsoft Access Driver (*.mdb)};”

  以上所说的是毗连Access数据库的名目,那么毗连其他数据库的ODBC数据源毗连文本又是奈何的?毗连差异范例的数据库要行使差异的对应驱动措施,没健忘吧!差异的驱动措施虽然它们的参数组合也就差异了,每一种差异驱动措施都有其特定的的参数情势:

  ⑴、MS Access ODBC DSNless 毗连:

  ☆、参数:Driver 配置值:{Microsoft Access Driver (*.mdb)}
  ☆、参数:Dbq 配置值:现实路径文件名称
  ☆、例句:
  “Driver={Microsoft Access Driver (*.mdb)};Dbq=c: omepathdbname.mdb;Uid=Admin;Pwd=pass; ”

  ⑵、dBase ODBC DSNless 毗连:

  ☆、参数:Driver 配置值:{Microsoft dBASE Driver (*.dbf)}
  ☆、参数:Dbq 配置值:现实路径文件名称
  ☆、例句:
  “Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=c: omepathdbname.dbf; ”

  ⑶、Oracle ODBC DSNless 毗连:

  ☆、参数:Driver 配置值:{Microsoft ODBC for Oracle}
  ☆、参数:Dbq 配置值:现实路径文件名称
  ☆、例句:
  “Driver={Microsoft ODBC for Oracle};Server=OracleServer.world;Uid=admin;Pwd=pass; ”

  ⑷、MS SQL Server DSNless 毗连:

  ☆、参数:Driver 配置值:{SQL Server};
  ☆、参数:Server 配置值:处事器名称
  ☆、参数:Database 配置值:数据表名称
  ☆、参数:Uid 配置值:用户名称
  ☆、参数:Pwd 配置值:暗码
  ☆、例句:
  “Driver={SQL Server};Server=servername;Database=dbname;Uid=sa;Pwd=pass; ”

  ⑸、MS Text Driver DSNless 毗连:

  ☆、参数:Driver 配置值:{Microsoft Text Driver (*.txt; *.csv)}
  ☆、参数:Dbq 配置值:现实路径文件名称
  ☆、例句:
  “Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=c: omepath;Extensions=asc,csv,tab,txt;Persist Security Info=False; ”

  ⑹、Visual Foxpro DSNless 毗连:

  ☆、参数:Driver 配置值:{Microsoft Visual FoxPro Driver}
  ☆、参数:SourceType 配置值:DBC
  ☆、参数:SourceDB 配置值:现实路径文件名称
  ☆、例句:
  “Driver={Microsoft Visual FoxPro Driver};SourceType=DBC;SourceDB=c: omepathdbname.dbc;Exclusive=No;”

  ⑺、MySQL DSNless 毗连:

  ☆、参数:Driver 配置值:{mysql}
  ☆、参数:database 配置值:数据表名称
  ☆、参数:uid 配置值:用户名称
  ☆、参数:pwd 配置值:暗码
  ☆、例句:
  “driver={mysql}; database=yourdatabase;uid=username;pwd=password;option=16386”



*******************************************************************

SQL说话简介


  在上一讲中我们先容了毗连外部数据库的要领,那么毗连之后奈何对外部数据库举办读取、表现、增删、更新、查询等操纵呢?这些操纵必要通过外部数据库等工具挪用SQL指令才气完成。
  ㈠、什么是SQL说话

  SQL(Structure Query Languge,布局化查询说话)是一种数据库专用的计较机说话,不管是Oracle、MS SQL 、Access、MySQL或其他公司的数据库,也不管数据库成立在大型主机或小我私人计较机上,都可以行使SQL说话来会见和修改数据库的内容。固然差异公司的数据库软件多几几何会增进一些专属的SQL语法,但概略上,它们照旧遵循ASNI(美国国度尺度协会)拟定的SQL尺度。由于SQL说话具有易进修及阅读等特征,以是SQL逐渐被各类数据库厂商回收,而成为一种共通的尺度查询说话。只要你学会SQL,即可操纵各类数据库如Visual Foxpro、Access、dBase等等。总之,SQL说话是各类数据库都可以行使的数据库查询说话。
  SQL说话不只仅具有查询数据库的成果,并且可以对数据库完成选取、增删、更新与跳转等各类操纵。

  ㈡、SQL说话的构成

  SQL说话是由呼吁(函数)、子句、运算符、加总函数及通配符等构成,分述如下:

  1、呼吁
  SQL的呼吁可分成数据界说说话与数据操纵说话,数据界说说话可用来成立新的数据库、数据表、字段及索引等,本教程不予先容;另一为数据操纵说话,可用来成立查询表、排序、筛选数据、修改、增删等举措。数据界说说话呼吁常用的有选择、添加、删除和修改这四种:

  ⑴、呼吁:SELECT
  中文意思:选择
  声名:用于找出合乎前提的记录
  ⑵、呼吁:INSERT
  中文意思:插入
  声名:用于增进一条记录或归并两个数据表
  ⑶、呼吁:UPDATE
  中文意思:更新
  声名:用于矫正合乎前提的记录
  ⑷、呼吁:DELETE
  中文意思:删除
  声名:用于删除合乎前提的记录

  2、子句
  子句是用于设定数令要操纵的工具(即参数),SQL所用的子句如下:

  ⑴、子句:FROM
  中文意思:数据表
  声名:用于指定命据表
  ⑵、子句:WHERE
  中文意思:前提
  声名:用于设定前提
  ⑶、GROUP BY
  中文意思:分组(归并)
  声名:用于设定分组
  ⑷、ORDER BY
  中文意思:排序
  声名:用于设定输出的次序及字段

  3、运算符
  子句参数中的运算符使子句组成差异的语法名目,如“字段1=''100''”、“字段1>''100''”等。运算符又分逻辑运算符与较量运算符。
  ◇逻辑运算符如下:

  ⑴、运算符:AND
  中文意思:而且
  声名:逻辑且
  ⑵、运算符:OR
  中文意思:可能
  声名:逻辑非
  ⑶、运算符:NOT
  中文意思:取反
  声名:逻辑非或逻辑反

  ◇较量运算符如下:

  ⑴、运算符:< 声名:小于
  ⑵、运算符:≤ 声名:小于便是
  ⑶、运算符:≥ 声名:大于便是
  ⑷、运算符:> 声名:大于
  ⑸、运算符:= 声名:便是
  ⑹、运算符:<> 声名:不便是
  ⑺、运算符:BETWEEN 声名:用于设定范畴 中文意思:在...之间
  ⑻、运算符:LIKE 声名:用于通配设定 中文意思:犹如
  ⑼、运算符:IN 声名:用于荟萃设定 中文意思:在...之内

  4、加总函数
  加总函数经常运用在呼吁的参数中,如:“SELECT SUM(数学),AVG(数学) FROM 后果单”。
  ⑴、加总函数:AVG
  中文意思:均匀
  声名:用于求指定前提的均匀
  ⑵、加总函数:COUNT
  中文意思:数目
  声名:用于求指定的数目
  ⑶、加总函数:SUM
  中文意思:和
  声名:用于求指定前提的和
  ⑷、加总函数:MAX
  中文意思:最大值
  声名:用于求指定前提的最大值
  ⑸、加总函数:MIN
  中文意思:最小值
  声名:用于求指定前提的最小值

  5、通配符

  ⑴、通配符:% 意义:任何长度的字符串(包罗0)
  ⑵、通配符:_ 意义:下划线暗示任何一个字符
  ⑶、通配符:[] 意义:中括号暗示某个范畴内的一个字符

  在下一讲将声名SQL说话是奈何把呼吁(函数)、子句、运算符、及加总函数等组合在一路的。


*************************************************************************


嵌入式SQL的应用


  SQL语句可以单独在数据库体系自己中执行,但假如运用在其他编程器材所体例的措施中,一样平常不能单独执行,而要把SQL语句嵌入到高级说话(如易说话)中行使,通过高级说话的呼吁和要领来挪用之,此时SQL称为嵌入式SQL。挪用SQL语句的措施称为宿主措施,在易说话中一样平常是把SQL语句作为宿主措施的独一参数来直接处理赏罚。嵌入式SQL在行使上有一些划定,在易说话中今朝的版本划定如下:
  ⑴、在措施中要区分SQL语句和宿主说话的语句。在易说话中好区分,由于SQL语句情势是英文的,而易说话是中文的,但在现实应用时如故有也许会紊乱,以是易说话要把SQL语句转化为文本型才气挪用,即嵌入式SQL语句双方要用双引号来标示。

  ⑵、应承SQL语句行使宿主措施的变量,但行使时要将宿主措施的变量跟外部数据库中表格的字段名区别开来,区别要领如下:
  ①、在易说话中要将变量范例转化为文本型变量才气被SQL文内情加行使,好比下面的例子中有一个叫“数字1”的整数范例变量,插入到SQL文本中是这样表达:

  外部数据库1.查询 (“select * from chj where ” + 组合框1.内容 + “=” + 到文本 (数字1))

  ②、包括字段名的SQL文本双方加双引号,变量名不能在双引号内,如上例。

  ⑶、要将字段名跟字段值区别开来,区别要领如下:
  ①、对付文本范例的字段,在其字段值双方要加上“''”号标示其文本值,代表语法是:字段名称=‘文本值’。如下:

  外部数据库1.查询 (“select * from chj where 姓名=''山大王''”)

  又如下面“查找编辑框.内容”中的字段值是文本型,嵌入式SQL语句如下:

  外部数据库1.查询 (“select * from chj where 姓名==” + “''” + 查找编辑框.内容 + “''”)

  ②、对付数字范例的字段,在SQL语句中暗示其字段值,双方不加标记标示,代表语法是:字段名称=数字值。如下两例:

  外部数据库1.查询 (“select * from chj where ” + 组合框1.内容 + “=” + 查找编辑框.内容)

  外部数据库1.查询 (“select * from chj where 学号=17”)

  ③、对付日期时刻范例的字段,在其字段值双方要加上“#”号标示那时刻值,代表语法是:字段名称=#时刻值#。如下两例:

  外部数据库1.查询 (“select * from chj where 入学时刻 BETWEEN #2001-01-01# and #2002-01-01#”)

  外部数据库1.查询 (“select * from chj where ” + 组合框1.内容 + “=” + “#” + 查找编辑框.内容 + “#”)

  ④、也可以将SQL语句中的字段名(尤其是中文名)可用中括号括住,如:[字段名]。

  
  ⑷、SQL语句要用半角输入法输入,不然也许会堕落。

  那么在易说话中奈何挪用SQL语句呢?一样平常是在外部数据库工具(控件)的要领中挪用,试归纳综合如下:
  ⑴、对外部数据库举办查询的要领。
  对外部数据库的查询就是在对外部数据库不加编辑窜改的条件下,只通过记录集来对数据库举办表现、查询、筛选、排序和记录集的归并等操纵。
  全部查询类的要领发源于下面这个语句,其他查询类语句是对这个语句的挪用(将此语句作为独一的参数),该语句如下:

  外部数据库.查询 (查询类SQL语句)

  也可这样表达:

  外部数据库.查询 (“SELECT...FROM...[WHERE]...[GROUP BY]...[ORDER BY]... ”)

  该要领是对当前被打开数据库举办数据查询,返回的功效称为“记录集句柄”(即记录集的标志)。留意当不再行使此记录集时,必需行使“封锁记录集”将其封锁,假如失败,返回0。在易说话中,将以上语句等同于记录集句柄以作为其他查询类语句的参数。为了使该参数在全部子措施中都能应用,我们一样平常把它配置为整数型全局变量,并将其值配置如下:

  记录集句柄=外部数据库.查询 (查询类SQL语句)

  因为易说话要把SQL语句转化为文本型才气挪用,以是嵌入式SQL语句双方要有双引号,例句:
  记录集句柄 = 外部数据库1.查询 (“select * from chj ”)
  ※ “chj”是外部数据库中一个表的名称

  又如,欲获得排序的记录集,应象下面这样赋值:

  记录集句柄 = 外部数据库1.查询 (“SELECT * FROM chj ORDER BY 语文 DESC”)

  现将外部数据库控件中其他的查询类要领罗列如下:

  ①、外部数据库.从头查询 (记录集句柄) 即:
  外部数据库.从头查询 (外部数据库.查询 (查询类SQL语句))

  例句:外部数据库1.从头查询 (外部数据库1.查询 (“select * from chj ”))

  ②、外部数据库.首记录前 (记录集句柄) 即:
  外部数据库.首记录前 (外部数据库.查询 (查询类SQL语句))

  例句:外部数据库1.首记录前 (记录集句柄)

  ③、外部数据库.尾记录后 (记录集句柄)
  ④、外部数据库.到首记录 (记录集句柄)
  ⑤、外部数据库.到尾记录 (记录集句柄)
  ⑥、外部数据库.到前一记录 (记录集句柄)
  ⑦、外部数据库.到后一记录 (记录集句柄)
  ⑧、外部数据库.读 (记录集句柄,字段名称或位置)

  例句:语文编辑框.内容 = 到文本 (外部数据库1.读 (记录集句柄, “语文”))

  ⑵、对外部数据库举办编辑的要领。
  所谓对外部数据库的编辑,就是改观窜改外部数据库自己,包罗添加、更新、删除等,对数据库举办编辑不必通过记录集。全部非查询类SQL语句都嵌入下面这个语句来执行:

  外部数据库.执行 (非查询类SQL语句)

  ①、添加记录,其语法如下:

  外部数据库.执行 (“insert into 表名称(字段1,字段2...) values (字段值1,字段值2...) ”)

  例句:
  外部数据库1.执行 (“INSERT INTO chj ” + “(学号,姓名,语文,数学,英语)” + “ valueS ” + “(” + 学号编辑框.内容 + “,''” + 姓名编辑框.内容 + “'',''” + 语文编辑框.内容 + “'',''” + 数学编辑框.内容 + “'',''” + 英语编辑框.内容 + “'')”)

  ②、更新记录,其语法如下:

  外部数据库.执行 (“UPDATE 表名称 SET 字段1=字段值1,字段2=字段值2...WHERE 前提式”)

  例句:
  外部数据库1.执行 (“UPDATE chj SET 学号=” + “''” + 学号编辑框.内容 + “'',” + “姓名=” + “''” + 姓名编辑框.内容 + “'',” + “语文=” + “''” + 语文编辑框.内容 + “'',” + “数学=” + “''” + 数学编辑框.内容 + “'',” + “英语=” + “''” + 英语编辑框.内容 + “'' ” + “WHERE 姓名=” + “''” + 姓名1 + “'' ” + “AND 语文=” + 语文1 + “AND 数学=” + 数学1 + “AND 英语=” + 英语1 + “AND 学号=” + 学号1)

  ③、删除记录,其语法如下:

  外部数据库.执行 (“DELETE * FROM 表名称 WHERE 前提式”)

  例句:
  外部数据库.执行 (“外部数据库1.执行 (“DELETE * FROM chj ” + “WHERE 姓名=” + “''” + 姓名1 + “'' ” + “AND 语文=” + 语文1 + “AND 数学=” + 数学1 + “AND 英语=” + 英语1 + “AND 学号=” + 学号1)”)

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读