C++Builder中使用FireDAC之一 创建DB文件及表

本文详细介绍了如何使用C++Builder创建并配置SQLite数据库连接,包括参数设置、获取连接信息、获取数据库表名列表,并在数据库中创建新表的过程。涵盖了从建立连接到操作数据库的基本步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考万一的博客整理成C++Builder写法

    TFDConnection *FDC_tmp;
    FDC_tmp = new TFDConnection(this);
    FDC_tmp->Params->Add("DriverID=SQLite");
    FDC_tmp->Params->Add("Database=C:\\myxe8\\yqws_data\\first_sqliteDB1.db");
    FDC_tmp->Params->Add("LockingMode=Normal");
    FDC_tmp->LoginPrompt = false;
    FDC_tmp->Connected = true;

    TStringList * list;
    list = new TStringList();
    FDC_tmp->GetInfoReport(list);

    Memo1->Lines->Add("==> 获取连接信息:");
    Memo1->Lines->AddStrings(list);

    list->Clear();
    FDC_tmp->GetTableNames("", "", "", list,TFDPhysObjectScopes() << osMy,TFDPhysTableKinds() << tkTable);
    Memo1->Lines->Add("==> 获取数据库中的表名列表:");
    Memo1->Lines->AddStrings(list);

    // 是不是在字串列表中存在该表名,若不存在则建立表
    if (list->IndexOf("MyTable") == -1)
    {
        // {创建一个名为 MyTable 的表, 字段包括: ID, Name, Age, Note, Picture}
        TFDCommand *FDCommand1;
        FDCommand1 = new TFDCommand(this);
        FDCommand1->Connection = FDC_tmp;
        FDCommand1->CommandText->Add("CREATE TABLE MyTable(");
        FDCommand1->CommandText->Add("ID integer PRIMARY KEY,");
        // Integer 类型, 同时设为主键
        FDCommand1->CommandText->Add("Name string(10),");
        // 能容下 10 个字符的 String 类型
        FDCommand1->CommandText->Add("Age byte,"); // Byte 类型
        FDCommand1->CommandText->Add("Note text,"); // Memo 类型
        FDCommand1->CommandText->Add("Picture blob"); // Blob(二进制)类型
        FDCommand1->CommandText->Add(")");
        FDCommand1->Active = true;
        delete FDCommand1;
    }
    delete list;
    FDTable1->Connection = FDC_tmp;
    FDTable1->TableName = "MyTable";
    FDTable1->Open();

    // 加入索引后在dbgrid中会有问题,重复显示的问题。。。。

 

转载于:https://www.cnblogs.com/bcber/p/4989583.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值