我创建了数据库如下:
procedure TForm1.Button1Click(Sender: TObject);
var
ovCreateAccess : OleVariant ;
begin
//通过建立ADOX 对象进行访问
ovCreateAccess := CreateOleObject( 'ADOX.Catalog' ) ;
//通过OLE方式创建Access97格式数据库
ovCreateAccess.Create( 'Provider = Microsoft.Jet.OLEDB.3.51; Data Source = f:\lg97.mdb' ) ;
//通过OLE方式创建Access2k格式数据库
ovCreateAccess.Create( 'Provider = Microsoft.Jet.OLEDB.4.0; Data Source = f:\lg2k.mdb' ) ;
end;
但是怎么在数据库lg97或者lg2k里创建需要表,请举例子,好么?
谢谢!
procedure TForm1.Button1Click(Sender: TObject);
var
ovCreateAccess : OleVariant ;
begin
//通过建立ADOX 对象进行访问
ovCreateAccess := CreateOleObject( 'ADOX.Catalog' ) ;
//通过OLE方式创建Access97格式数据库
ovCreateAccess.Create( 'Provider = Microsoft.Jet.OLEDB.3.51; Data Source = f:\lg97.mdb' ) ;
//通过OLE方式创建Access2k格式数据库
ovCreateAccess.Create( 'Provider = Microsoft.Jet.OLEDB.4.0; Data Source = f:\lg2k.mdb' ) ;
end;
但是怎么在数据库lg97或者lg2k里创建需要表,请举例子,好么?
谢谢!
function CreateDatabase(mDatabaseName: string): Boolean;
var
CreateAccess: OLEVariant;
begin
Result := False;
try
CreateAccess := CreateOleObject('ADOX.Catalog');
try
CreateAccess.Create(Format(
'Provider=Microsoft.Jet.OLEDB.3.51;Data Source=%s%s.mdb',
[ExtractFilePath(Application.ExeName), mDatabaseName]));
finally
CreateAccess := Unassigned;
end;
except
Exit;
end;
Result := True;
end;
function CreateTable(mDatabaseName: string; mADOQuery: TADOQuery): Boolean;
begin
Result := False;
try
mADOQuery.Close;
mADOQuery.ConnectionString := Format(
'Provider=Microsoft.Jet.OLEDB.3.51;Data Source=%s%s.mdb',
[ExtractFilePath(Application.ExeName), mDatabaseName]);
mADOQuery.SQL.Text := 'CREATE TABLE Table1 (Field1 varchar(10), Field2 varchar(10))';
mADOQuery.ExecSQL;
except
Exit;
end;
Result := True;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
DeleteFile(ExtractFilePath(Application.ExeName) + 'test.mdb');
CreateDatabase('test');
CreateTable('test', ADOQuery1);
end;