在VC6中基于ADOX如何创建数据库表

在VC6中基于ADOX如何创建数据库表,第1张

供你参考:

#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的主键


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9385806.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存