数据库连接,该如何解决
数据库连接
这个是怎么会事呢?
//---------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "student.h"
//---------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TMainForm *MainForm;
//---------------------------------------
__fastcall TMainForm::TMainForm(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------
void __fastcall TMainForm::FormCreate(TObject *Sender)
{
TStringList *StrLis = new TStringList;
Session-> GetAliasNames(StrLis); //获取数据库别名
//Session 在构造TTable类时自动构造,通过它可以获得TTable所属Database的信息
if (StrLis-> IndexOf( "StudentDB") == -1) //判断,如果StudentDB不存在,则动态创建
{
String ExePath = ExtractFilePath(Application-> ExeName); //获得工作路径
Session-> AddStandardAlias( "StudentDB", ExePath,"dBase"); //同一目录下,新建数据库StudentDB
Session-> SaveConfigFile(); //保存信息
StrLis-> Free();
/*******************下面是TableInfor的创建过程***************************/
TIndexOptions MyIndex;
TableInfor-> Active = false; //不打开数据库
TableInfor-> DatabaseName = "StudentDB ";
TableInfor-> TableName = "Infor ";
TableInfor-> TableType = ttDBase;
//定义字段
TableInfor-> FieldDefs-> Clear();
TableInfor-> FieldDefs-> Add( "Num ", ftString, 8, true); //定义字段名、字段类型、长度、能否为空
TableInfor-> FieldDefs-> Add( "Name ", ftString, 8, true);
TableInfor-> FieldDefs-> Add( "Sex ", ftString, 2, false);
TableInfor-> FieldDefs-> Add( "Age ", ftString, 4, false);
TableInfor-> FieldDefs-> Add( "Home ", ftString, 10, false);
TableInfor-> FieldDefs-> Add( "Depart ", ftString, 40, false);
TableInfor-> FieldDefs-> Add( "Addr ", ftString, 40, false);
TableInfor-> FieldDefs-> Add( "Phone ", ftString, 10, false);
//定义索引
TableInfor-> IndexDefs-> Clear();
TableInfor-> IndexDefs-> Add( "IDNum ", "Num ", MyIndex<<ixPrimary); //定义索引名、索引字段、索引选项:首选索引
MyIndex >> ixPrimary,ixUnique; //取消首选索引、唯一索引
TableInfor-> IndexDefs-> Add( "IDName ", "Name ", MyIndex);
TableInfor-> IndexDefs-> Add( "IDSex ", "Sex ", MyIndex);
TableInfor-> IndexDefs-> Add( "IDAge ", "Age ", MyIndex);
TableInfor-> IndexDefs-> Add( "IDHome ", "Home ", MyIndex);
TableInfor-> IndexDefs-> Add( "IDDepart ", "Depart ", MyIndex);
TableInfor-> IndexDefs-> Add( "IDAddr ", "Addr ", MyIndex);
TableInfor-> IndexDefs-> Add( "IDPhone ", "Phone ", MyIndex);
//创建Table,应用前面的定义
TableInfor-> CreateTable();
这个是怎么会事呢?
//---------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "student.h"
//---------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TMainForm *MainForm;
//---------------------------------------
__fastcall TMainForm::TMainForm(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------
void __fastcall TMainForm::FormCreate(TObject *Sender)
{
TStringList *StrLis = new TStringList;
Session-> GetAliasNames(StrLis); //获取数据库别名
//Session 在构造TTable类时自动构造,通过它可以获得TTable所属Database的信息
if (StrLis-> IndexOf( "StudentDB") == -1) //判断,如果StudentDB不存在,则动态创建
{
String ExePath = ExtractFilePath(Application-> ExeName); //获得工作路径
Session-> AddStandardAlias( "StudentDB", ExePath,"dBase"); //同一目录下,新建数据库StudentDB
Session-> SaveConfigFile(); //保存信息
StrLis-> Free();
/*******************下面是TableInfor的创建过程***************************/
TIndexOptions MyIndex;
TableInfor-> Active = false; //不打开数据库
TableInfor-> DatabaseName = "StudentDB ";
TableInfor-> TableName = "Infor ";
TableInfor-> TableType = ttDBase;
//定义字段
TableInfor-> FieldDefs-> Clear();
TableInfor-> FieldDefs-> Add( "Num ", ftString, 8, true); //定义字段名、字段类型、长度、能否为空
TableInfor-> FieldDefs-> Add( "Name ", ftString, 8, true);
TableInfor-> FieldDefs-> Add( "Sex ", ftString, 2, false);
TableInfor-> FieldDefs-> Add( "Age ", ftString, 4, false);
TableInfor-> FieldDefs-> Add( "Home ", ftString, 10, false);
TableInfor-> FieldDefs-> Add( "Depart ", ftString, 40, false);
TableInfor-> FieldDefs-> Add( "Addr ", ftString, 40, false);
TableInfor-> FieldDefs-> Add( "Phone ", ftString, 10, false);
//定义索引
TableInfor-> IndexDefs-> Clear();
TableInfor-> IndexDefs-> Add( "IDNum ", "Num ", MyIndex<<ixPrimary); //定义索引名、索引字段、索引选项:首选索引
MyIndex >> ixPrimary,ixUnique; //取消首选索引、唯一索引
TableInfor-> IndexDefs-> Add( "IDName ", "Name ", MyIndex);
TableInfor-> IndexDefs-> Add( "IDSex ", "Sex ", MyIndex);
TableInfor-> IndexDefs-> Add( "IDAge ", "Age ", MyIndex);
TableInfor-> IndexDefs-> Add( "IDHome ", "Home ", MyIndex);
TableInfor-> IndexDefs-> Add( "IDDepart ", "Depart ", MyIndex);
TableInfor-> IndexDefs-> Add( "IDAddr ", "Addr ", MyIndex);
TableInfor-> IndexDefs-> Add( "IDPhone ", "Phone ", MyIndex);
//创建Table,应用前面的定义
TableInfor-> CreateTable();