如何将文件中的数据insert进入本地数据库表 |
尚未結案
|
nimo
一般會員 ![]() ![]() 發表:5 回覆:9 積分:2 註冊:2007-11-15 發送簡訊給我 |
各位大侠:
问题:有三个txt文件,每个文件包含有Insert子句,如何将这些语句插入到本地数据库呢? 1.txt内容如下: insert into t1 values('s3','aa','m1'); insert into t1 values('s1','3b','ba'); insert into t1 values('s1','2ra','c2'); 2.txt内容如下: insert into t2 values('s1','aa','m1'); insert into t2 values('s2','aa','ba'); insert into t2 values('s2','2ra','c2'); 3.txt内容如下: insert into t3 values('s1','aa','n8'); insert into t3 values('s3','2ra','3d'); insert into t3 values('s2','2ra','5m'); 我希望的结果: 1、将上述三个文件分别插入本地数据库三个表t1,t2,t3(能否就在本地界面通过按钮命令创建这三张表?如果麻烦,创建表就算了,可以在数据库后台手工建立); 2、在第一步实现后,能否在本程序界面上通过按钮命令(就象在数据库系统中通过SQL语句那样,只不过,是否能够在本界面上实现),实现上述3张表的查询?即合成一张总表T(三列字段属性都是字符型),包括上述三张表的内容?最终得到如下结果: T(s1, 3b, ba) T(s1, 2ra, c2) T(s1, aa, m1) T(s1, aa, n8) T(s2, aa, ba) T(s2, 2ra, c2) T(s2, 2ra, 5m) T(s3, aa, m1) T(s3, 2ra, 3d) 这个问题,我想了解的是,如何实现和本地数据库之间的交互.。 谢谢! 編輯記錄
nimo 重新編輯於 2007-11-20 09:53:00, 註解 無‧
|
JustinShen
中階會員 ![]() ![]() ![]() 發表:22 回覆:104 積分:80 註冊:2003-09-20 發送簡訊給我 |
这个问题很简单,只要你所用的本地数据库支持SQL语言规范,那么就可以实现。以使用ADO组件(dbGo或ADODB)为例,建立一个TADOConnection连接到你的本地数据库,再建立一个TADOCommand连接到前面所建的TADOConnection上。
在程序里面构建创建数据表的命令 CREATE TABLE ... (具体使用可参考SQL规范),在使用一个TStrings对象装入指定的文本文件(LoadFromFile函数),插入合并前面构建的 CREATE TABLE ... 命令,再追加一行GO,最后导入并执行TADOCommand即可。全部使用代码大概如下: var conn: TADOConnection; comm: TADOCommand; aSQL: TStrings; ... begin conn:=TADOConnection.Create(self); conn.ConnectionString:='XXXXXXXXXXXXXXXXXXXXXXXXXX'; //这里需要预先知道数据库类型及连接方式等 conn.open; comm:=TADOCommand.Create(self); comm.connection:=conn; aSQL:=TStringList.Create; aSQL.LoadFromFile('file1.txt'); aSQL.Insert(0,BuildCreateSQL(' aSQL.append('GO;'); //如何构建CREATE TABLE 语句根据你的需要作函数,这里用BuildCreateSQL()函数名代替,其中的参数也需要设定 comm.CommandText:=aSQL.Text; comm.execute; end;
------
==================== 我为一切作努力! Justin Shen |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |