首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

请教怎么用程序创建access 的mdb数据库和表

2012-02-20 
请问如何用程序创建access 的mdb数据库和表我将一个a.mdb的a表筛选后生成b.mdb的b表,我用ADOQuery- SQL(s

请问如何用程序创建access 的mdb数据库和表
我将一个a.mdb的a   表筛选后生成b.mdb   的b表,我用
ADOQuery-> SQL(select   *   into   b   from   a   )为什么不成功.
  select   *   into   [c:\\b.mdb].b   from   [c:\\a.mdb].a   也不成功,为何?能提供正确代码马上给分.谢谢.

[解决办法]
创建生成表查询时,请指定:

新数据库表(目标表)的名称。
要从中复制行的一个或多个表(源表)。可以从单个表或联接表中进行复制。
要复制其内容的源表中的列。
排序次序(如果想以特定的次序复制行)。
定义要复制行的搜索条件。
“分组依据”选项(如果仅想复制汇总信息)。
例如,下列查询将创建称为 uk_customers 的新表并将信息从 customers 表复制到其中:

SELECT *
INTO uk_customers
FROM customers
WHERE country = 'UK '


为成功使用生成表查询,必须拥有在目标数据库中创建表的权限。


[解决办法]
http://msdn2.microsoft.com/en-us/library/bb208934.aspx
[解决办法]
首先要有对应的mdb和对应的表才可以~~~~~~~~

insert into [d:\tmp1.MDB;Uid=User;Pwd=Pass].a select * from [d:\tmp2.MDB;Uid=User;Pwd=Pass].b
[解决办法]
如果可以的话
我建议你先建一个空表 b
结构和a的一样
如果不用了就可以清空表b
这样看上去就像新建的
再用 select * into b from a
应该就不会报错了

[解决办法]
还没有搞定么?

苯方法:把相同的表结构当作资源来用;

另存时,把资源释放;然后分别使用两个连接,打开不同的数据库;

使用SQL语句,一条条把内容拷贝到新表;
大概代码如下;
Query-当前数据库连接表
mQuery-需要新保存的连接表
dbname-数据库表名称

fCount=DM-> Query-> Fields-> Count;
dbsql= "INSERT INTO "+dbname+ "( ";
for (int f=0;f <fCount-1;f++)
dbsql=dbsql+DM-> Query-> Fields-> Fields[f]-> FieldName+ ", ";

dbsql=dbsql+DM-> Query-> Fields-> Fields[fCount-1]-> FieldName+ ") VALUES( ";

DM-> Query-> FindFirst();
for (int r=0;r <rCount;r++)
{
sql=dbsql;
for (int f=0;f <fCount-1;f++)
{
dsc= DM-> Query-> Fields-> Fields[f]-> AsString;
if (dsc!= " ")
sql=sql+ " ' "+dsc+ " ', ";
else
sql=sql+ " '0 ', ";
}

dsc= DM-> Query-> Fields-> Fields[fCount-1]-> AsString;
if (dsc!= " ")
sql=sql+ " ' "+dsc+ " ') ";
else
sql=sql+ " '0 ') ";

DoSql(mQuery,sql); //运行SQL语句,插入记录到新库

DM-> Query-> FindNext();
}

热点排行