'用上面的方法建立一个空数据库,但建立表及其字段使用下面的方法
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的主键
预计该数据库文件被损坏,拔掉U盘读取和写入数据库中的数据,它是容易损坏的数据库文件中的一个小头,尾,如果你是编程每次应将该文件复制到同一目录,你连接到数据库,浩恢复的情况下损坏。
供你参考:#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 &)
{}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)