博文

用 INNER JOIN语法联接多个表建记录集 (2005-12-12 00:01:00)

摘要:用 INNER JOIN语法联接多个表建记录集 多表联接建立记录集是十分有用的,因为某些情况下,我们需要把数字数据类型显示为相应的文本名称,这就遇到了多表联接建立记录集的问题。比如作一个会员注册系统,共有五个表,会员信息数据表member、会员身份表MemberIdentity、会员权限表MemberLevel、会员类别表MemberSort和会员婚姻状况表Wedlock。如果想把会员注册信息全部显示出来,肯定要将这四个表连起来,否则大家看到的某些会员信息可能只是数据编号。    以会员类别表来说,在其数据表中,1代表普通会员,2代表高级会员,3代表终身会员,在显示时,如果不将会员类别表与会员详细数据表相关联,那么假如我们现在看到的是一名普通会员的注册信息,我们只能看到其类别为1,而谁又会知道1代表的是普通会员呢?所以要将会员类别表与会员详细数据表相关联,关联后,1就显示为普通会员,2就显示为高级会员,3就显示为终身会员,这样多好?同理,其它两个表也要与会员详细数据表相关联才能把数据编号显示为相应的名称。        前天制作网站后台时遇到此问题,在面包论坛、狂迷俱乐部、蓝色理想、和5D多媒体论坛发了贴子求救,都没有获得答案,只好自己研究,花了两天时间终于成功,现将其写成教程供大家分享,希望大家少走弯路。    本教程是把五个表联在一起,如果愿意,您可以将更多的表联在一起,方法大同小异啦~        步骤一:用Access软件建立一个名为Member的数据库,在其中建五个表,分别为:会员信息数据表member、会员身份表MemberIdentity、会员权限表MemberLevel、会员类别表MemberSort和会员婚姻状况表Wedlock。        ●会员信息数据表member:    MemberID:自动编号,主键(ID号)    MemberSort:数字(会员类别)    MemberName:文本,会员姓......

阅读全文(344) | 评论:0

精妙SQL语句介绍(2005-12-11 22:24:00)

摘要:精妙SQL语句介绍 如何从一位菜鸟蜕变成为高手,灵活使用的SQL语句是必不可少的。本文收集了部分比较经典,常用的SQL语句供大家参考,希望对大家有所帮助。   说明:复制表(只复制结构,源表名:a 新表名:b)     SQL: select * into b from a where 1<>1   说明:拷贝表(拷贝数据,源表名:a 目标表名:b)     SQL: insert into b(a, b, c) select d,e,f from b;   说明:显示文章、提交人和最后回复时间     SQL: select a.title,a.username,b.adddate from table a,(select max(adddate) adddate from table where table.title=a.title) b   说明:外连接查询(表名1:a 表名2:b)     SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c   说明:日程安排提前五分钟提醒     SQL: select * from 日程安排 where datediff('minute',f开始时间,getdate())>5     说明:两张关联表,删除主表中已经在副表中没有的信息   SQL:      delete from info where not exists ( select * from infobz where info.infid=infobz.infid   说明:--   SQL:      SELECT A.NUM, A.NAME, B.UPD_DATE, B.PREV_UPD_DATE    FROM TABLE1,    (SELECT X.NUM, X.UPD_DATE, Y.UPD_DATE PREV_UPD_DATE    FROM (SELECT NUM, UPD_DATE, INBOUND_QTY, STOCK_ONHAND    FROM TABLE2    WHERE TO_CHAR(UPD_DATE,'YYYY/MM') = TO_CHAR(SYSDATE, 'YYYY/MM')) X,    (SE......

阅读全文(354) | 评论:0

VB_ADO(2005-10-10 00:12:00)

摘要:1、数据库连接Dim FileNamw$, DbIp$, DbName$, DbUser$, DbPw$Dim CnStr$Dim Conn As Adodb.ConnectionFileName = App.Path & "\数据库名"DbIp = ""DbName = ""DbUser = ""DbPw = ""'连接Access数据库:CnStr = "microsoft.jet.oledb.3.51;persist security info =false;data source=" & FileName & ";Jet OLEDB:Database Password=code2000"'连接Oracle数据库:CnStr = "MSDAORA.1;Password=" & DbPw & ";User ID=" & DbUser & ";Data Source=" & DbName & ";Persist Security Info=True"'其中:'PASSWORD:      密码'User ID:       用户号'Data Source:   数据库名'Persist Security Info:'Provider:'连接VF的DBF库:CnStr = "MSDASQL.1;Persist Security Info=False;Driver={Microsoft Visual FoxPro Driver};UID=;SourceDB=" & FileName & ";SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;"'连接SQL的数据库CnStr = "PROVIDER=MSDataShape;Data PROVIDER=MSDASQL;uid=" & DbUser & ";pwd=" & DbPw & ";DRIVER=SQL Server;DATABASE=" & DbName ......

阅读全文(169) | 评论:0

Visual Basic 的数据库编程(二)(2005-10-09 15:35:00)

摘要:五、寻寻觅觅  在数据库管理系统中,输入和查询就象两个孪生姐妹不可或缺,下面将介绍如何创建查询窗口。查询窗口的设计分为两部分:查询结果和查询条件。查询结果是指用户所需要的数据,它包括根据查询条件查询出来的记录,但并非表中每个字段里的数据都需要提供给用户。比如在我们这个例子中,登记表中的登记号的值是用户不感兴趣的,所以在查询结果中,我们不希望显示RegID字段的值。查询条件是用户提出的查询要求。比如在我们这个系统中,可以有姓名条件,当用户想知道某个人的具体情况,他可以输入此人的姓名,就查询出此人各方面的情况;也可以有年龄条件,当用户输入某个年龄段,就会查询出处于这个年龄段的所有人的信息。到底采用哪些查询条件,这需要开发者根据用户和系统的要求进行设计,其具体实现过程大都大同小异。为了节省篇幅,我们就仅以年龄为条件进行查询。查询窗口运行情况如图9。在这个程序中我们使用了一个控件DBGrid,这个控件用来显示查询结果,选中VB的“工程”菜单下的“部件……”项,在控件标签中,选中“Microsoft Data Bound Grid Control 5.0”即可,在工具箱中就会出现DBGrid控件的小图标。其使用和其它控件一样。  为了和数据库连接,DATA控件是不可少的,回忆一下,该怎样设置它的属性,OK!同输入窗口一样,在CONNECT属性中,选中“ACCESS”项。在DatabaseName属性中,输入“C:\TEMP\登记.mdb”。在RecordSource属性中,选中......嘿,嘿,这里稍微有点不同,如果按输入窗口那样的设置,查询结果中就会包含登记号字段了。在此属性中我们应该输入SQL语句:  select name as 姓名,sex as 性别,hometown as 籍贯,age as 年龄,birthday as 生日,company as 单位,address as 地址,zip as 邮编,telephone as 电话,fax as 传真 from Register。别着急,尽管这条语句有点长,实际上却比较简单。这条语句的语法是:  SELECT 字段名,字段名,……FROM 表名 WHERE 条件;  对照语法,我们可以看出输入的SQL语句的含义:从表Register中查询姓名,性别,籍费,……字段的值。只要在字段列表中不选中登记号字段,在查询结......

阅读全文(3901) | 评论:0

Visual Basic 的数据库编程(一)(2005-10-09 15:34:00)

摘要: Visual Basic作为应用程序的开发“利器”也表现在数据库应用程序的开发上,它良好的界面和强大的控件功能使数据库编程变得简单多了。但即便如此,数据库应用程序的开发仍然算得上是VB编程中的难点,这是因为你不仅要熟悉VB中关于数据库编程方面的知识(当然这是十分简单的)还要了解数据库的知识。所以我们先介绍一下数据库的基本知识,算是学习数据库编程前的热身运动吧! 一、热身运动  首先需要声明是,我们这里介绍的数据库知识都是指的关系数据库。所谓关系数据库就是将数据表示为表的集合,通过建立简单表之间的关系来定义结构的一种数据库。  不管表在数据库文件中的物理存储方式如何,它都可以看作一组行和列,与电子表格的行和列类似。在关系数据库中,行被称为记录,而列则被称为字段。下面是一个客户表的例子。  表1 客户表 客户号 姓名 地址 城市 街道 邮编1723 Doe John 1234 Ffth Avenue New York NY 10043391 Smith Mary 9876 Myrtle Lavee Bosten MA 60783765 Blasel Mortimer 2296j River Road peoria IL 7011   此表中每一行是一个记录,它包含了特定客户的所有信息,而每个记录则包含了相同类型和数量的字段:客户号、姓名等等。  表 是一种按行与列排列的相关信息的逻辑组,类似于工作单表。  字段 数据库表中的每一列称作一个字段。表是由其包含的各种字段定义的,每个字段描述了它所含有的数据。创建一个数据库时,须为每个字段分配一个数据类型、最大长度和其它属性。字段可包含各种字符、数字甚至图形。  记录 各个客户有关的信息存放在表的行,被称为记录。一般来说,数据库表创建时任意两个记录都不能相同。  键 键就是表中的某个字段(或多个字段),它(们)为快速检索而被索引。键可以是唯一的,也可以是非唯一的,取决于它(们)是否允许重复。唯一键可以指定为主键,用来唯一标识表的每行。例如,在前面的例子中,客户标识号 (客户号) 是表的主键,因为客户号唯一地标识了一个客户。  关系 数据库可以由多个表组成,表与表之间可以以不同的方式相互关联。例如,客户数据库还可以有一个包含某个客户的所有定单的表。它只用“客户号”字段来引用该定单的客户,而不在定单表中的每项重复所有客户信......

阅读全文(2974) | 评论:0