我在窗体上放了一个按钮,名为“导入序列号”,然后使用RzOpenDialog打开要导入的文件,然后文件中的数据我想导入到我的数据库中的相应字段上,请问我应该怎么写呢??数据库中的字段名为“Number”,求高手指点指点

解决方案 »

  1.   

    文件主要是TXT格式,EXCEL也行!!!
      

  2.   

    我不知道这个RzOpenDialog怎么读数据,我只知道打开这个控件的代码是:
    RzOpenDialog1.Execute;
    RzOpenDialog1.FileName;
    但是光知道打开没用,拿EXCEL来说,先通过RzOpenDialog1打开文件,然后读出EXCEL里面的“序列号”数据,这里怎么读,我不知道怎么写代码!!!就是不知道“怎么取读”。大哥帮帮忙
      

  3.   

    用ado连接excel,当作数据库操作
      

  4.   

    这个方法好像可行,但是好像EXCEL就是固定的,我还是想用RzOpenDialog1进行选择,怎么用呢?
      

  5.   


    这跟RzOpenDialog有什么关系,打开excel文件,得到文件路径,然后动态赋值给adoconnecton的connectionstring就可以了
      

  6.   

    那你的意思是,不需要用RzOpenDialog这个控件了吗??那怎么操作呢???
      

  7.   

    晕倒 RzOpenDialog只是用来打开的.供选择路径用.
    怎么导可以用ado连EXCEL,循环插入就行了.
      

  8.   

    用ADO导入数据这一块功能我能实现
    现在就是这个路径的问题,我怎么用这个RzOpenDialog选择文件的路径和ADO连接啊??我只会直接在ADOConnection里面选择EXCEL文件,不会用RzOpenDialog选了自后和ADOConnection关联起来!!怎么写代码连接呢??是直接定义一个函数还是直接在按钮里面写呢???还是直接在ADOConnection属性里面设置呢???
      

  9.   

    procedure TFrmImportExcel.FlatButton5Click(Sender: TObject);
    var
      i,j: integer;
      XLApp,sheet:Variant;
      F: File;
      AllFileName ,FilePath ,FileName ,FileExt :string;
      FullNamestr ,SurNameStr,GivenNameStr,DateOfBidhStr,NationalityStr :string;
    begin
      if FlatSpinEditInteger1.Value <=0 then
      begin
        MsShow('请输入要导入的记录数!');
        FlatSpinEditInteger1.SetFocus;
        Exit;
      end;
      if BeginRow.Value <=0 then
      begin
        MsShow('请输入开始导入的行号!');
        BeginRow.SetFocus;
        Exit;
      end;  AllFileName :='';  AllFileName :=FileListBox1.FileName;  try
        xlApp:=CreateOleObject('Excel.Application');
      except
        xlApp:=UnAssigned;
        MsShow('创建Excel实例失败,请重新安装Office 2000!');
        Exit;
      end;  try
        xlApp.Workbooks.Open(AllFileName);
      except
        MsShow ('打开Excel文档失败!');
        xlApp.Quit;
        xlApp:=UnAssigned;
        Exit;
      end;  Sheet:=xlApp.WorkBooks[1].WorkSheets[1]; //连接Sheet
      i :=BeginRow.Value;
      j :=FlatSpinEditInteger1.Value+BeginRow.Value ;
      try
        while i<=j do
        begin
          if Trim(Sheet.Cells.Item[i,3])<>'' then
            begin
              GroupD.Insert; 
              GroupD.FieldByName('PassportNo').value :=Sheet.Cells.Item[i,3]
              GroupD.Post;        
            end ;  
            Inc(i);
        end;
      finally
        Msshow('数据导入完毕!');
      end;  try
        xlApp.Quit;
        Sheet :=Unassigned ;
        xlApp:=Unassigned;
      except  end;
       AssignFile(F,AllFileName); // 将C:\MyFile.txt文件与F变量建立连接,后面可以使用F变量对文件进行操作。
      Rename(F,FilePath+'已导_'+FileName);end;
      

  10.   

    应该是这样的
    (1)用RzOpenDialog找到文件,
      OpenDialog1.InitialDir := ExtractFileDir(ParamStr(0));//路径
      OpenDialog1.Filter:='(*.txt)|*.txt';//只读txt格式的
      if OpenDialog1.Execute then
      begin
        //做你想做的事,例如读文件内容
      end;
    (2)用读取文件方式得到txt文件的内容。var
      fFile: TextFile;
      sStr: string;
      sPathName: string;
       slList: TStringList;
    begin
      slList := TStringList.Create;
      sPathName := "文件路径及名字"; 
      if FileExists(sPathName)then
      begin
        AssignFile(fFile,sPathName);
        reset(fFile);{打开并读取文件 F }
        while not Eof(fFile) do
        begin
          readln(fFile,sStr);
          if Trim(sStr) <> '' then slList .Add(sStr);
        end;
        closefile(fFile);
      end;
      FreeAndNil(slList);(3)接下来的事看你怎么处理了