关于Access的Sql问题(100分)

  • 主题发起人 主题发起人 qzq
  • 开始时间 开始时间
Q

qzq

Unregistered / Unconfirmed
GUEST, unregistred user!
我用query对Access类型的数据库进行操作时,一次只能
写一条sql语句,多于一条时出错显示‘缺少sql语句分割符’,
谁能告诉我这个分割符该怎么写,好象‘;’不行的说。
如果一次一条,效率太低了。
 
query好象确实只能写一条SQL语句,你要一次做多个SQL操作的话
还是用存储过程吧
 
如果是其他大型数据库还好说,Access好象不行一次执行多条SQL语句.
 
小天:
Access如何使用存储过程?好象不行的说.
 
Access里面可以使用VBA.
 
能不能先把 要执行的语句放在一个string 数组 里面
然后用循环 执行一遍 ,即:
a[1]:='update ***'
a[2]:='insert **'
...
for i:=1 to n do
query1.sql.clear;
query1.sql.add(a);
query1.execsql;
...
 
只能一个
 
to 小天:
query是对sql server是可以一次传多条sql语句的。但是不知为何
对access不行。

to others:
如果access确实只能一次传一条,那就行了。我只是想确认一下,
但为何数据库出错信息中说缺少分割符呢,是不是存在这样的分割符
我不知道还是确实没有这样的分割符。我想再找找看。
 
有消息通知我
<a href="mailto:dydelphi@263.net">mailto:dydelphi@263.net(dydelphi@263.net)</a>
<a href="mailto:dydelphi@cmmail.com">mailto:dydelphi@cmmail.com(dydelphi@263.net)</a>
 
好象可以这样嵌套用.
Select * from table(Select ...(Select ...))
在"大富翁论坛"以前的贴子中讨论过
 
1、只能写一条SQL语句,原因很简单,ACCESS是桌面数据库,没有事务的说法,
如果多于一条SQL,那么第一条提交了,第二条失败了,怎么回滚呢?
2、桌面数据库是没有存储过程的。
3、建议在程序中使用一个循环来代替。
 
后退
顶部