home > OLE オートメーション > DAO >

ForNext

Only Do What Only You Can Do

22. CSVファイルを読む

VBScript

JScript

Perl

PHP

Python

Ruby

PowerShell

Scala

F#

C

C++

C++Builder

更新日 : 2006.07.15
void __fastcall TForm1::Button22Click(TObject *Sender)
{
    //表示用コントロールをクリア
    ListBox1->Items->Clear();
    ListBox2->Items->Clear();

    Variant de = Variant::CreateObject("DAO.DBEngine.36");
    //パスを指定する (排他モード = false, 読み込み専用 = true)
    //1行目がヘッダの場合
    Variant db = de.Exec(Function("OpenDatabase") << "e:\\" << false << true << "Text");
    //1行目もデータの場合
    //Variant db = de.Exec(Function("OpenDatabase") << "e:\\" << false << true << "Text;HDR=no");

    //ファイル名を指定する
    const int dbOpenTable = 1;
    Variant rs = db.Exec(Function("OpenRecordset") << "test.csv" << dbOpenTable);

    while (!rs.Exec(PropertyGet("EOF")))
    {
        //表示用コントロールに項目内容をセット
        Variant fd = rs.Exec(PropertyGet("Fields") << 0);
        if (VarIsNull(fd.Exec(PropertyGet("Value"))))
            ListBox1->Items->Add("");
        else
            ListBox1->Items->Add(fd.Exec(PropertyGet("Value")));

        fd = rs.Exec(PropertyGet("Fields") << 1);
        if (VarIsNull(fd.Exec(PropertyGet("Value"))))
            ListBox2->Items->Add("");
        else
            ListBox2->Items->Add(fd.Exec(PropertyGet("Value")));

        rs.Exec(Function("MoveNext"));
    }

    //テーブルを閉じる
    rs.Exec(Procedure("Close"));

    //データベースを閉じる
    db.Exec(Procedure("Close"));
}

VC++

C#

Java

Objective-C

D

VB

更新日 : 2006.07.15
Private Sub Command22_Click()
    '表示用コントロールをクリア
    List1.Clear
    List2.Clear

    'パスを指定する (排他モード = False, 読み込み専用 = True)
    Dim db As Database
    '1行目がヘッダの場合
    Set db = DBEngine.OpenDatabase("e:\", False, True, "Text")
    '1行目もデータの場合
    'Set db = DBEngine.OpenDatabase("e:\", False, True, "Text;HDR=no")

    'ファイル名を指定する
    Dim rs As Recordset
    Set rs = db.OpenRecordset("test.csv", dbOpenTable)

    Do Until rs.EOF
        '表示用コントロールに項目内容をセット
        List1.AddItem rs(0) & ""
        List2.AddItem rs(1) & ""

        rs.MoveNext
    Loop

    'テーブルを閉じる
    rs.Close

    'データベースを閉じる
    db.Close
End Sub

VB.NET

Delphi

更新日 : 2006.07.15
procedure TForm1.Button22Click(Sender: TObject);
var
    de:Variant;//DBEngine
    db:Variant;//Database
    rs:Variant;//Recordset
const
    dbOpenTable:Integer = 1;
begin
    //表示用コントロールをクリア
    ListBox1.Items.Clear;
    ListBox2.Items.Clear;

    de := CreateOleObject('DAO.DBEngine.36');
    //パスを指定する (排他モード = false, 読み込み専用 = true)
    //1行目がヘッダの場合
    db := de.OpenDatabase('e:\', false, true, 'Text');
    //1行目もデータの場合
    //db := de.OpenDatabase('e:\', false, true, 'Text;HDR=no');

    //ファイル名を指定する
    rs := db.OpenRecordset('test.csv', dbOpenTable);

    while not rs.EOF do
    begin
        //表示用コントロールに項目内容をセット
        if VarIsNull(rs.Fields[0].Value) then
            ListBox1.Items.Add('')
        else
            ListBox1.Items.Add(rs.Fields[0].Value);

        if VarIsNull(rs.Fields[1].Value) then
            ListBox2.Items.Add('')
        else
            ListBox2.Items.Add(rs.Fields[1].Value);

        rs.MoveNext;
    end;

    //テーブルを閉じる
    rs.Close;

    //データベースを閉じる
    db.Close;
end;

Ada

PL/SQL

T-SQL

関数型

inserted by FC2 system