求一句将CSV文件插入到mdb数据库的SQL语句?

tanjunrong123 2005-10-25 03:27:34
test数据库的yy表中有3个字段:id,name,age
tt.csv的内容如下:
001,GOOD,bill,80,......
002,FAIL,yyyy,45,....
003,GOOD,kkkk,67,.....
.
.
.

现在我要将tt.csv中第2栏中是GOOD的记录的第1,3,4列数据分别插入到yy表中,程序如下:
Public cnn As New ADODB.Connection
Public rec As New ADODB.Recordset
Public cnn2 As New ADODB.Connection
Public rec2 As New ADODB.Recordset
cnn.ConnectionString = "Provider=Microsoft.jet.oledb.4.0;data source=C:\test.mdb"
cnn2.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\;Extended Properties=""text;HDR=No;FMT=Delimited"""
cnn.open
cnn2.open
rec2.Open "select F1,F3,F4 from tt.csv where F2='GOOD'", cnn2, adOpenDynamic, adLockOptimistic
上面的rec2中,已经能够找到符合要求的记录了,现在问题是如何用一句SQL语句插入到yy表中呢?
...全文
221 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
tanjunrong123 2005-10-26
  • 打赏
  • 举报
回复
我試了,好像不行呀!
w3k 2005-10-25
  • 打赏
  • 举报
回复
哎!
winehero 2005-10-25
  • 打赏
  • 举报
回复
LZ怎么又发一帖?!

'如下SQL即可:(使用cnn2连接对象来执行就可)
strsql="select * into yy in "C:\test.mdb" from tt.csv "
cnn2.excute strsql

SELECT...INTO 语句
创建生成表查询。

语法
SELECT field1[, field2[, ...]] INTO newtable [IN externaldatabase]
FROM source
说明
可以通过生成表查询来存档记录,或制作表的备份副本,或者将副本导出到其他数据库,或作为某个特定时间段的数据的报表产生基础。例如,可以通过每个月运行相同的生成表查询来生成一个月销售区域报表。
_______________________________________________________

IN 子句
标识在任何能够由 Microsoft Jet 数据库引擎连接的外部数据库(如 dBASE 或 Paradox 数据库或外部 Microsoft® Jet 数据库)中的表。

语法
若要标识目标表:

[SELECT | INSERT] INTO destination IN
{path | ["path" "type"] | ["" [type; DATABASE = path]]}

若要标识源表:

FROM tableexpression IN
{path | ["path" "type"] | ["" [type; DATABASE = path]]}

包含 IN 子句的 SELECT 语句具有以下部分:

部分 说明
destination 将在其中插入数据的外部表的名称。
tableexpression 将检索其中的数据的表的名称。该参数可以是单个表名、存储查询或者从 INNER JOIN、LEFT JOIN 或 RIGHT JOIN 产生的组合结果。
path 包含 table 的目录或文件的完整路径。
type 用于创建 table 的数据库类型的名称(如果数据库不是 Microsoft Jet 数据库,例如 dBASE III、dBASE IV、Paradox 3.x 或 Paradox 4.x)。


说明
使用 IN 子句一次只能连接一个外部数据库。

某些情况下,path 参数所引用的路径包含了数据库文件。例如,当使用 dBASE、Microsoft FoxPro® 或 Paraox 数据库表时,该 path 参数指定了包含 .dbf 或 .db 文件的目录。表文件名来源于 destination 或 tableexpression 参数。

若要指定非 Microsoft Jet 数据库,请在名称的尾部追加一个分号 (;),并用引号('') 或 ("") 将其括起来。例如,'dBASE IV;' 或 "dBASE IV;" 都是允许的。

还可以使用 DATABASE 保留字来指定外部数据库。以下的各行指定了相同的表:

... FROM Table IN "" [dBASE IV; DATABASE=C:\DBASE\DATA\SALES;];

... FROM Table IN "C:\DBASE\DATA\SALES" "dBASE IV;"

注释

为了提高性能和易于使用,请使用链接表而不是 IN。

还可以使用 IN 保留字作为表达式中的比较运算符。

1,217

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧