CSVデータをDBに登録するには

解決


ゆうこりん  2006-03-29 01:42:28  No: 20722

CSVファイルのデータをDB(INTERBASE)に登録しています。
どりあえず1レコードの1項目を登録したいと考えています。

実行するとエラーが表示されます。
SQL err code -206
column unknown
CUST_CD
何が原因でしょうか?
よろしくお願い致します。

procedure TForm1.Button1Click(Sender: TObject);
var
  SL1:TStringList;
  SL2:TStringList;
  i,j :word;
  xx,zz,nam:string;
begin

    try
      IBDatabase1.Connected := Active;

      SL1:=TstringList.Create;
      SL2:=TstringList.Create;

      if Opendialog1.Execute then begin
        nam := Opendialog1.FileName;
        SL1.LoadFromFile(nam);
        for i:=0 to SL1.count-1 do begin
          SL2.CommaText := SL1[i];
          IBQuery1.Close;
          IBQuery1.SQL.Clear;
          IBQuery1.SQL.Add('insert into customer (cust_cd)');
          IBQuery1.SQL.Add('values (:cust_cd)');
          IBQuery1.ParamByName('cust_cd').AsString:=SL2[0];
          Try
            IBQuery1.ExecSQL;
          except

          end;
        end;
      end;
      Finally
        SL1.Free;
        SL2.Free;
        IBQuery1.Active       := False;
        IBDatabase1.Connected := False;
      end;

end;

end.


HOta  2006-03-29 02:23:32  No: 20723

項目の名前が違っています。
customer テーブルがありますか?
そのcustomer テーブルにcust_cdがありますか?
場合に依ったら、これが大文字の場合もあります。
できれば、IBConsoleなどで、確認しましょう。
混在の場合もあります。


ゆうこりん  2006-03-29 21:22:06  No: 20724

ご指導ありがとうございます。
IBOConsoleで確認しましたら、CUSTOMERとcustomerの2つの
テーブルがありました。
CUSTOMERにはcust_cdがありませんでした。
テーブル名の変更をしたいのですが、できませんでした。
どのようにしたらよろしいのでしょうか?


HOta  2006-03-29 23:11:53  No: 20725

ほんとは、テーブル作成時にすればいいのですが。
こんな場合は、項目やテーブル名をダブルクオーテーション(")
で括ったSQL文を発行すればOKです。


ゆうこりん  2006-03-29 23:51:17  No: 20726

すみません。

項目やテーブル名をダブルクオーテーション(")とは
どのように記述すればよろしいのでしょうか?

お手数ですがよろしくお願い致します。


HOta  2006-03-30 00:45:06  No: 20727

Ex.)
>          IBQuery1.SQL.Add('insert into customer (cust_cd)');

          IBQuery1.SQL.Add('insert into "customer" ("cust_cd")');
                                        ^        ^  ^       ^
こうですね。この場合は、必ず登録されたテーブル名と全く同じにしてください。


ゆうこりん  2006-03-31 00:28:30  No: 20728

丁寧にご指導ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加