2023年11月23日发(作者:)
创建数据库MDB文件
var MYEngine:DBEngine;
begin
MYEngine:=;
Database( 'c: ', ';LANGID=0x0804;CP=936;COUNTRY=0; ',dbEncrypt);
end;
用Query连接你的建好的数据库~~然后写SQL语句不就行了~~
CREATE TABLE Table1 (
Id int NOT NULL ,
String1 varchar (10) NOT NULL ,
Date1 datetime NULL ,
);
有用[0]
板砖[0]
终总结(一):DirectShow做的播放器(有部分代码)
#2楼 得分:0回复于:2004-03-23 16:59:23
_9761
级:
搜索
仪猪猪)
对我有用[0]
丢个板砖[0]
引用
举报
管理
TOP
精华推荐:申请delphi区大版
#3楼 得分:0回复于:2004-03-23 16:59:48
或者是
ert2003
对我有用[0]
丢个板砖[0]
引用
举报
管理
TOP
精华推荐:在这临近年关的时候,我不祝福大家新年快乐,请大家进来缅怀已经离去1周年的sysu死树前辈!
级:
级打字员)
#4楼 得分:20回复于:2004-03-23 17:04:39
//参考如下代码~~
uses ComObj;
//...
ert2003
级:
var
CreateAccess: OLEVariant;
begin
CreateAccess := CreateOleObject( 'g ');
级打字员)
( 'Provider=.4.0;Data Source=c: ');
CreateAccess := Unassigned;
end;
//参考如下代码~~
tionString := 'Provider=.4.0;Data Source=c:
L;
你搜一下,很多的
:= 'CREATE TABLE Table1 (Field1 varchar(10), Field2 varchar(1
//建库方法
uses ComObj;
//...
var
CreateAccess: Variant;
begin
CreateAccess := CreateOleObject( 'g ');
( 'Provider=.4.0;Data Source=c:
');
CreateAccess := Unassigned;
end;
//建表方法
tionString := 'Provider=.4.0;Data Sourc
e=c: ';
dText := 'CREATE TABLE Table1 (Field1 varchar(1
0), Field2 varchar(10)) ';
L;
以下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 =
FROM Tab1 a,Tab2 b
WHERE = ;
同样功能的SQL语句在ACCESS中应该是
UPDATE Tab1 a,Tab2 b
SET =
WHERE = ;
即:ACCESS中的UPDATE语句没有FROM子句,所有引用的表都列在UPDATE关键字
后.
上例中如果Tab2可以不是一个表,而是一个查询,例:
UPDATE Tab1 a,(Select ID,Name From Tab2) b
SET =
WHERE = ;
访问多个不同的ACCESS数据库-在SQL中使用In子句:
Select a.*,b.* From Tab1 a,Tab2 b In ' ' Where =;
上面的SQL语句查询出当前数据库中Tab1和(当前文件夹中)中Tab2以ID为
关联的所有记录.
缺点-外部数据库不能带密码.
补充:看到ugvanxk在一贴中的答复,可以用
Select * from [c:;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=passwo
rd;]
其中的DRIVER=driver可以在注册表中的
HKEY_LOCAL_中找到
异构数据库之间导数据参见 碧血剑 的
/delphibbs/?lid=1691966
ACCESS支持子查询
ACCESS支持外连接,但不包括完整外部联接,如支持
LEFT JOIN 或 RIGHT JOIN
但不支持
FULL OUTER JOIN 或 FULL JOIN
ACCESS中的日期查询
注意:ACCESS中的日期时间分隔符是#而不是引号
Select * From Tab1 Where [Date]> #2002-1-1#;
在DELPHI中我这样用
(Format(
'Select * From Tab1 Where [Date]> #%s#; ',
[DateToStr(Date)]));
ACCESS中的字符串可以用双引号分隔,但SQLSERVER不认,所以为了迁移方便和兼容,
建议用单引号作为字符串分隔符.
发布评论