JetデータベースのテーブルにCSVファイルからインポートします。テーブルの中に既にデータが格納されている場合キーが重複しているとそのレコードは追加されません。
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
AnsiString str = ExtractFilePath(Application->ExeName);
Import(str + "TEST.mdb","新規テーブル",str + "work.csv");
}
//---------------------------------------------------------------------------
void TForm1::Import(AnsiString strDbPath, AnsiString strTblName, AnsiString strTxtPath)
{
Variant vDAO;
Variant vDB;
AnsiString strConnect;
AnsiString strSql;
vDAO = Variant::CreateObject("DAO.DBEngine.35");
strConnect = "[Text;database=" + ExtractFilePath(strTxtPath) + "].";
vDB = vDAO.Exec(Function("OpenDatabase") << (strDbPath) << false << false);
strSql = "INSERT INTO " + strTblName + " SELECT * FROM " + strConnect + ExtractFileName(strTxtPath);
vDB.Exec(Procedure("Execute") << strSql);
vDB.Exec(Procedure("Close"));
}
//---------------------------------------------------------------------------
DownLoad bcbtips052.lzh 8KB(BCB5)