参考万一的博客整理成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中会有问题,重复显示的问题。。。。
C++Builder中使用FireDAC之一 创建DB文件及表
原文:http://www.cnblogs.com/bcber/p/4989583.html