`
pascal4123
  • 浏览: 114691 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Delphi+Access 使用SQL语句应注意的地方及几点技巧(ZZ)

    博客分类:
  • GP
阅读更多


http://hi.baidu.com/wa_et/blog/item/7fdc9967892cc7fbf73654c7.html


以下SQL语句在ACCESS XP的查询中测试通过
建表:
Create Table Tab1 (
ID Counter,
Name string,
Age integer,
[Date] DateTime);
技巧:
自增字段用 Counter 声明.
字段名为关键字的字段用方括号[]括起来,数字作为字段名也可行。 
建立索引:
下面的语句在Tab1的Date列上建立可重复索引
Create Index iDate ON Tab1 ([Date]);
完成后ACCESS中字段Date索引属性显示为 - 有(有重复).
下面的语句在Tab1的Name列上建立不可重复索引
Create Unique Index iName ON Tab1 (Name);
完成后ACCESS中字段Name索引属性显示为 - 有(无重复).
下面的语句删除刚才建立的两个索引
Drop Index iDate ON Tab1;
Drop Index iName ON Tab1;

ACCESS与SQLSERVER中的UPDATE语句对比:
SQLSERVER中更新多表的UPDATE语句:
UPDATE Tab1
SET a.Name = b.Name
FROM Tab1 a,Tab2 b
WHERE a.ID = b.ID;
同样功能的SQL语句在ACCESS中应该是
UPDATE Tab1 a,Tab2 b
SET a.Name = b.Name
WHERE a.ID = b.ID;
即:ACCESS中的UPDATE语句没有FROM子句,所有引用的表都列在UPDATE关键字后.
上例中如果Tab2可以不是一个表,而是一个查询,例:
UPDATE Tab1 a,(Select ID,Name From Tab2) b
SET a.Name = b.Name
WHERE a.ID = b.ID;

访问多个不同的ACCESS数据库-在SQL中使用In子句:
Select a.*,b.* From Tab1 a,Tab2 b In db2.mdb Where a.ID=b.ID;
上面的SQL语句查询出当前数据库中Tab1和db2.mdb(当前文件夹中)中Tab2以ID为关联的所有记录.
缺点-外部数据库不能带密码.
补充:看到ugvanxk在一贴中的答复,可以用
Select * from [c:\aa\a.mdb;pwd=1111].table1;
ACCESS XP测试通过

在ACCESS中访问其它ODBC数据源
下例在ACCESS中查询SQLSERVER中的数据
SELECT * FROM Tab1 IN [ODBC]
[ODBC;Driver=SQL Server;UID=sa;PWD=;Server=127.0.0.1;DataBase=Demo;]
外部数据源连接属性的完整参数是:
[ODBC;DRIVER=driver;SERVER=server;DATABASE=database;UID=user;PWD=password;]
其中的DRIVER=driver可以在注册表中的
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\
中找到
异构数据库之间导数据参见 碧血剑 的
<A href="http://www.delphibbs.com/delphibbs/dispq.asp?lid=1691966" target=_blank>http://www.delphibbs.com/delphibbs/dispq.asp?lid=1691966</A>

ACCESS支持子查询

ACCESS支持外连接,但不包括完整外部联接,如支持
LEFT JOIN 或 RIGHT JOIN
但不支持
FULL OUTER JOIN 或 FULL JOIN

ACCESS中的日期查询
注意:ACCESS中的日期时间分隔符是#而不是引号
Select * From Tab1 Where [Date]>#2002-1-1#;
在DELPHI中我这样用
SQL.Add(Format(
Select * From Tab1 Where [Date]>#%s#;,
[DateToStr(Date)]));

ACCESS中的字符串可以用双引号分隔,但SQLSERVER不认,所以为了迁移方便和兼容,
建议用单引号作为字符串分隔符.

分享到:
评论

相关推荐

    不错的DELPHI+ACCESS毕业设计项目-基于DELPHI+ACCESS的小型人才信息管理系统.rar

    【不错的DELPHI+ACCESS毕业设计项目--基于DELPHI+ACCESS的小型人才信息管理系统.rar】 delphi+access做的人才管理系统,此系统的功能如下: 基本管理: 人才基本信息的管理,如新增、修改等 学习简历管理:学习...

    Delphi中sql语句的使用总结

    ### Delphi中SQL语句的使用总结 在Delphi中使用SQL语句是与数据库进行交互的重要手段之一。本文将详细介绍如何在Delphi环境中构造和执行SQL查询,并给出具体的示例来帮助理解。 #### 一、基本SQL查询的构建 在...

    delphi+access学生成绩管理系统

    《Delphi+Access学生成绩管理系统详解》 在信息技术领域,开发一款学生成绩管理系统是常见的实践项目,它能够帮助教育机构高效管理学生的学习成绩,提高数据处理的准确性和效率。本系统采用Delphi作为前端开发工具...

    delphi+sql+access.zip_DelPhi SQl_access delphi_delphi sql acce_s

    本资源“delphi+sql+access.zip”显然聚焦于如何在Delphi环境中使用SQL与Microsoft Access数据库进行交互。这里我们将深入探讨Delphi、SQL和Access之间的整合以及相关的编程知识点。 1. **Delphi与数据库接口**: ...

    通用Delphi+Access汽车销售管理系统源码

    《通用Delphi+Access汽车销售管理系统源码解析与应用》 在信息技术日益发达的今天,汽车销售管理系统的高效运行对于汽车销售企业来说至关重要。本文将深入探讨一款基于Delphi编程语言和Access数据库技术构建的通用...

    数据库开发课程设计delphi+access

    4. SQL查询:编写SQL语句来实现数据的增删改查,包括SELECT、INSERT、UPDATE和DELETE等基本操作。 5. 错误处理和异常处理:确保程序在遇到问题时能够优雅地处理,避免程序崩溃。 6. 数据验证:在输入和更新数据时...

    人事工资管理系统(delphi+access)

    《人事工资管理系统(delphi+access)》是一款基于Delphi编程语言和Access数据库技术开发的员工信息及薪酬管理软件。该系统旨在帮助企业或组织更高效、便捷地管理内部的人力资源,包括员工的基本信息、薪资计算、考勤...

    Delphi adoquery处理多条SQL语句

    这里的关键点在于使用 `BEGIN...END` 包围多条 SQL 语句,并通过 `ExecSQL` 方法执行整个字符串中的所有语句。 ##### 2. 使用事务处理多条 SQL 语句 为了确保数据的一致性和安全性,通常会使用事务来包裹多条 SQL ...

    access 一次执行多条sql语句

    ### Access一次执行多条SQL语句 在Access数据库管理中,有时我们需要在同一事务中执行多条SQL语句来确保数据的一致性和完整性。例如,在更新某个记录后可能还需要执行其他操作,如增加日志记录等。本文将详细介绍...

    delphi+sql学生管理系统

    《Delphi+SQL学生管理系统详解》 在信息技术领域,学生管理系统是常见的应用之一,它能够高效地管理和组织教育机构的学生信息。本系统采用Delphi作为前端开发工具,结合SQL数据库进行数据存储,构建了一个功能全面...

    delphi+Access勤工俭学系统

    《Delphi+Access勤工俭学系统:构建与实践》 在信息技术日益发达的今天,教育领域的管理系统也在不断创新。"Delphi+Access勤工俭学系统"是一个利用Delphi编程语言和Microsoft Access数据库技术构建的学生勤工俭学...

    《Delphi+SQL Server数据库应用实例完全解析》光盘内容

    《Delphi+SQL Server数据库应用实例完全解析》是一本深入探讨如何使用Delphi开发应用程序并与SQL Server数据库进行交互的专业书籍。Delphi是一款强大的Windows应用程序开发工具,以其高效的编译器和直观的RAD(快速...

    DELPHI+SQL企业人事管理系统

    DELPHI+SQL企业人事管理系统是一款利用DELPHI编程语言和SQL数据库技术开发的企业级应用。这个系统设计用于管理企业内部的人力资源信息,包括员工基本信息、职务信息、考勤记录、薪资福利等多个方面,旨在提升人力...

    delphi+access人事管理系统

    《Delphi+Access人事管理系统详解》 在信息技术领域,开发管理软件是常见的需求,而小型企业或部门往往选择简洁高效的方式来实现这一目标。"Delphi+Access人事管理系统"就是这样一种解决方案,它结合了Delphi编程...

    DELPHI+SQLSERVER数据库应用系统开发与实例part2

    几乎所有Delphi数据库操作方面的书籍,大都对数据库泛泛而淡;几年前在书店看过一本书讲到怎样封装...第一卷:DELPHI+SQLSERVER数据库应用系统开发与实例part1地址: http://download.csdn.net/detail/stzxx/4494900

    Delphi+SQL课程设计

    总之,"Delphi+SQL课程设计"是一个很好的实践项目,它结合了 Delphi 的高效开发能力和SQL Server的强大数据库管理功能,帮助学习者提升在数据库应用开发方面的技能。通过这个项目,你可以深入理解数据库应用程序的...

    delphi+access项目开发笔记

    在本文中,我们将深入探讨如何使用Delphi与Access进行项目开发,主要涉及以下几个知识点: 1. **连接Access数据库** Delphi中通过ADOConnection组件来建立与Access数据库的连接。在ADOConnection1的...

    Delphi+源码+个人帐目管理系统ADO+ACCESS

    开发者可以使用ADO的简单API来执行SQL语句,处理个人帐目的记录和查询。 ACCESS数据库则作为后台存储,负责保存用户的帐目信息。ACCESS以其易用性、灵活性和可扩展性在小型数据库应用中占据重要地位。在这个系统中...

    delphi+sql的登录框

    Delphi+SQL的登录框知识点总结 Delphi 是一个功能强大的编程语言,用于开发图形用户界面(GUI)应用程序,而 SQL(Structured Query Language)是用于管理关系数据库的标准语言。在本资源中,我们将了解如何使用 ...

    delphi+access图书管理信息系统

    通过这种结合,Delphi+Access的图书管理信息系统不仅具备了高效的数据处理能力,还拥有友好的用户界面,为图书馆工作人员提供了极大的便利。不过,需要注意的是,对于大型图书馆或高并发的环境,可能需要考虑更强大...

Global site tag (gtag.js) - Google Analytics