数据库连接,该如何解决

数据库连接

这个是怎么会事呢?



//---------------------------------------

#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();