我想实现的是打开一个CSV文件,然后读取文件中的数据,有代码参考吗?
解决方案 »
- 多表查询如何用SQL语句表达
- 关于远程传送SQL Server数据的问题
- 求助:生成dbf文件问题,急!!
- net send(NetMessageBufferSend)功能问题,各位来帮个忙,急
- 迷失了方向
- DBGRID的十行一显示问题。
- <font color=red>关于打印的问题,请高手解答(在线等待,高分求助)!!!</font>
- 如何改变一个外部程序的文本框里的内容?
- 我第一次调用word服务器时可以用,但再次调用时出现RPC服务器无法使用,该怎么办?
- 怎么使一个窗体最小化后只显示于右下角输入法处成为一小图标?
- 散分!推荐一些好的IT公司(北京),要找工作了
- 如何取的本地服务器中的数据别名(SQL)
tstrList: TStringList;
begin
tstrList := TStringList.Create;
tstrList.LoadFromFile('aaa.csv'); // 处理列表内容就行了
try
// ??? ... ...
except
end; tstrList.Free;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
sqlstr,connstr,sheetName,filename:string;
begin
FileName :='d:\d.csv' ;//文件名
SheetName :='csv1_name' ; //表名
ADOQuery1.Close ;
ADOQuery1.SQL.Clear ;
ConnStr :='Provider=Microsoft.Jet.OLEDB.4.0;Data Source=' + FileName + ';Extended Properties=Excel 8.0;Persist Security Info=False';
ADOQuery1.ConnectionString :=ConnStr ;
SqlStr :='Select * from ' +'[' +SheetName + '$'+']'; //打開表
ADOQuery1.SQL.Add(SqlStr) ;
ADOQuery1.Prepared ;
ADOQuery1.Open ;
end;
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, DB, ADODB, Grids, DBGrids;type
TForm1 = class(TForm)
Button1: TButton;
OpenDialog1: TOpenDialog;
Button2: TButton;
DBGrid1: TDBGrid;
DataSource1: TDataSource;
Query1: TADOQuery;
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
i : Integer;
d:integer;
F: TextFile;
S: string;
tstrList:Tstrings;
iPos: Integer;
str0, str1: string;
begin
if OpenDialog1.Execute then { Display Open dialog box }
begin
AssignFile(F, OpenDialog1.FileName); { File selected in dialog }
Reset(F);
Readln(F, S);
end; if Length(s) < 1 then Exit;
str0 := s;
iPos := Pos(',', str0);
{ while(iPos > 0) do
begin
str1 := Copy(str0, 1, iPos - 1);
str0 := Copy(str0, iPos + 1, Length(str0) - iPos);
iPos := Pos(',', str0);
end; }
CloseFile(F);
//创建表
Query1.SQL.Clear;
Query1.Close;
Query1.SQL.Text:='create table mytable ('
+' SiteName char (10) NULL, '
+' Latitude char (10) NULL,'
+' Longitude char (10) NULL, '
+' AntennaType char (10) NULL, '
+' Sectorwidth char (10) NULL,'
+' Azimuth char (10) NULL, '
+' AntennaHeight char (10) NULL,'
+' Downtilt char(10) NULL,'
+' ERP char (10) NULL,'
+' CellIdentity char (10) NULL, '
+' Technology char (10) NULL, '
+' ChannelNumber char (10) NULL, '
+' BSIC char (10) NULL, '
+' LAC char (10) NULL, '
+' HSN char (10) NULL, '
+' btsIsHopping char (10) NULL, '
+' BCCH char (10) NULL, '
+' TCH char (10) NULL, '
+' NbCell char (10) NULL'
+' )';
try
Query1.ExecSQL;
except
end;
//创建表
//清除表中数据
Query1.SQL.Clear;
Query1.Close;
Query1.SQL.Text:='DELETE FROM mytable';
try
Query1.ExecSQL;
except
end;
//清除表中数据 //导入数据库
Query1.SQL.Clear;
Query1.Close;
Query1.SQL.Text:='BULK INSERT test.dbo.mytable FROM '+''''+ 'd:\d.csv'+''''
+ ' WITH '
+'( '
+'FIELDTERMINATOR ='+''''+','+''''+','
+' ROWTERMINATOR ='+''''+'\n'+''''+','
+' FIRE_TRIGGERS '
+')' ;
Query1.ExecSQL;
//数据库导入成功end;procedure TForm1.Button2Click(Sender: TObject);
begin
Query1.close;
Query1.sql.clear;
Query1.sql.add('select * from mytable ');
Query1.open; DataSource1.dataset:=Query1;
DBGrid1.DataSource:=DataSource1;
Query1.SaveToFile('D:\aa.xml', pfXML);
end;procedure TForm1.Button3Click(Sender: TObject);
begin
Query1.SQL.Clear;
Query1.Close;
Query1.SQL.Text:='drop table mytable';
try
Query1.ExecSQL;
except
end;
close;
end;end.