帮忙看下这个程序~解决办法

帮忙看下这个程序~
D:\ymd   下有一些TXT文件,文件内容格式大约是:
aaa   1111
bbb   1221
...
我要把他们写到一个SQL的表中,表名是ymd
我已经建立了ADOConnction和ADOqurey,测试连接成功
现在数据写进不去,大家帮我看下,帮我改改!

void   __fastcall   TForm1::FormCreate(TObject   *Sender)
{
TADOQuery   *q=new   TADOQuery(this);
TSearchRec   f;
TStringList   *list1=new     TStringList();
TStringList   *list2=new     TStringList();

q-> Close();
q-> Connection=ADOConnection1;
q-> SQL-> Text= "select   *   from   ymd ";
q-> Open();

int   id=FindFirst( "D:\\ymd\\ "+ "*.* ",faArchive,f);//这步语法有问题,怎么改呢?
while(!id)
{
  list1-> LoadFromFile(f.Name);
      for(int   i=0;i <list1-> Count;i++)
    {
        q-> Append();
        AnsiString   s=list1-> Strings[i];
        s=AnsiReplaceStr(s, ", ", "\n\r ");     //能否起到按空格将数据分开的作用?
        list2-> DelimitedText=s;
        //插入SQL表:
        q-> FieldByName( "stationnum ")-> AsString=list2-> Strings[0];
        q-> FieldByName( "rain ")-> AsString=list2-> Strings[1];
        q-> FieldByName( "observtimes ")-> AsDateTime=200705;
        q-> FieldByName( "inserttimes ")-> AsDateTime=Now();
        q-> Post();
    }
    id=FindNext(f);
    list1-> Clear();
}
FindClose(f);
delete   list2;
delete   list1;
}

------解决方案--------------------
固定格式的文本导入SQL不用这么麻烦的

直接用sqlserver自带的bcp工具,而且速度飞快

在查询分析器里输入:

EXEC master..xp_cmdshell 'bcp "tempdb..SMP_TempUpTable " in d:\upinfo\mdn.txt -c -t\t -Usa -P -S127.0.0.1 '

注释:
tempdb..SMP_TempUpTable 是库名+表名格式

d:\upinfo\mdn.txt 是你的需要导入的文件

\t表示文件里面字段的分隔符是制表符,你可以可以用逗号分号什么的,那就把t\t替换成t,

-Usa s是用户名
-P 这里加密码,因为是空密码所以什么都没有
-S 加要连的数据库ip