#import "c:\Program Files\Common Files\system\ado\msadox.dll"
#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEof")
ADOX::_CatalogPtr m_pCatalog
void CreateTable()
{
try
{
TESTHR(hr = m_pCatalog.CreateInstance(__uuidof(ADOX::Catalog)))
m_pCatalog->PutActiveConnection(m_AdoConnect)
ADOX::_TablePtr pTable
ADOX::_IndexPtr pIndex
TESTHR(hr = pTable.CreateInstance(__uuidof(ADOX::Table)))
TESTHR(hr = pIndex.CreateInstance(__uuidof(ADOX::Index)))
pTable->ParentCatalog=m_pCatalog
pTable->PutName(tableName)
pTable->Columns->Append("title",ADOX::adVarWChar,50)
pTable->Columns->Append("Url",ADOX::adVarWChar,255)
m_pCatalog->Tables->Append(_variant_t((IDispatch *)pTable))
m_pCatalog->Tables->Refresh()
}
catch (_com_error &)
{}
}
创建新数据库文件的方法有很多。主要有两种方法:一、空白数据库,直接结构与数据同时进行输入(如果果建立完成后再修改结构,原内容可能丢失);二、结构和数据分两步进行了 *** 作(推荐);那么第一种方法注意在ACCESS主窗口中区域左上角的"空白数据库"按钮。该按钮和"文件"菜单中的"新建"按钮都可以展现主窗口右侧的"空白数据库"区域。单击二者中的任何一个按钮都可以转换到主窗口,如图右所示。" 空白数据库"区域代替了主窗口中的最近打开的数据库列表。Access数据库创建及 *** 作在"空白数据库"区域的"文件名"框中输入新数据库的名称。默认情况下, Access 会在一个最近使用Access 打开的Windows 文件夹中创建新的数据库文件。如需使用不同的文件夹,可以使用"文件名"右侧的文件夹图标进行浏览并将数据库创建在所需的位置。
Access 为新数据库提供了Dat abasel.accdb 的默认名称。
需确保提供的名称可以识别。在图右中,新的数据库命名为教务信息管理.accdb (扩展名.accdb 为可选项,这是因为在未提供扩展名时, Access 将自动提供扩展名)。创建完新的数据库后, Access 将自动打开该数据库。
图右 在"空白数据库" 区域的"文件名"框中输入新数据库的名称
注意: Access 2007 可以识别所有以前版本的Access 数据库文件. 默认情况下,将使用2007 格式(使用.accdb 扩展名),但是可以指定Access 2000 、2002-2003或者Access 2007 为默认格式.使用"文件"->"Access 选项" ~ "常用",选择"默认文件格式"选项并且选定所需要的格式. 例如,当一个Access 2007 文件大部分内容都在Access 2000 数据库中完成,此时就应该选择2000 格式来保留向后兼容.依然使用Access 2000 的用户将无法打开以_accdb 格式创建的Access 文件.
'给你举个例子:引用ADO,如Microsoft ADO Ext. 2.8 for DDL and sec...'用上面的方法建立一个空数据库,但建立表及其字段使用下面的方法
Dim ccn As ADODB.Connection
Set ccn = New ADODB.Connection
ccn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0Data Source=d:\test.accdbMode=Share Deny Read|Share Deny WritePersist Security Info=False"
ccn.CommandTimeout = 30
ccn.Open
On Error GoTo createtable_ERR:
ccn.Execute "CREATE TABLE Test1(Auto_ID LONG IDENTITY(1,1),tstField2 Text(12) DEFAULT abc,tstField3 SINGLE DEFAULT 256.33,tstField4 DATE DEFAULT #10/12/2010#,tstField5 Text(15) NOT NULL CONSTRAINT mk5_pk PRIMARY KEY)"
msgbox "建立成功"
createtable_ERR:
'以上例子建立自动编号的字段Auto_ID,其后三个字段是不同类型的字段,都具有默认值,最后一个字段是不允许字段为空(NOT NULL),并在该字段建立一个名为mk5_pk的主键
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)