揭秘Access數據庫過大問題的幾種解決方案(2)_Access數據庫教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
推薦:access升級到SQLServer如何調整字段類型及函數:JET SQL 和T-SQLANSI SQL BIT數據類型與 the Microsoft Jet SQL BIT 數據類型不對應。而與 BINARY 數據類型對應。ANSI SQL 并沒有等效于 Microsoft Jet SQL 的 BIT 的數據類型。 TIMESTAMP不再作為DATETIME的同義字被支持。 NUMERIC 不再作為 FLOAT或 DOUBLE的同義字被支持
可以大概指定一定范圍,例如從0到1W使用1號數據庫。
1W到2W使用2號數據庫。
如何使用?。。
con和rs定義多個。。
con1是一號數據庫的,con2是二號數據庫的。。
rs1是一號數據庫的,rs2是二號數據庫的。。
添加:
當數據達到XW條時使用新的conX和rsX。。
修改:
查詢要修改的ID號。。去指定是數據庫執行操作。
刪除:
同修改。
用這個有一個不是很好解決的地方。比如我要查詢用戶排行,查詢積分最大的10個用戶。
由于用的多個數據庫,而且用的多個rs。。
找到了兩種方法,各位依照喜好使用。
第一種:
Private Function UnionRs(rsA As Recordset, rsB As Recordset) As Recordset
Dim rs As New Recordset, i%
For i = 0 To rsA.Fields.Count - 1
'設置記錄集標題列
rs.Fields.Append rsA.Fields(i).Name, rsA.Fields(i).Type, adFldMayBeNull + adFldIsNullable + adFldUpdatable
Next
'添加rsA到rs
If Not rsA.EOF Then
rsA.MoveFirst
If rs.State = adStateClosed Then rs.Open
While Not rsA.EOF
rs.AddNew
For i = 0 To rs.Fields.Count - 1
rs(i) = rsA(i)
Next
rsA.MoveNext
Wend
rs.UpdateBatch
End If
'添加rsB到rs
If Not rsB.EOF Then
rsB.MoveFirst
If rs.State = adStateClosed Then rs.Open
While Not rsB.EOF
rs.AddNew
For i = 0 To rs.Fields.Count - 1
rs(i) = rsB(i)
Dim rs As New Recordset, i%
For i = 0 To rsA.Fields.Count - 1
'設置記錄集標題列
rs.Fields.Append rsA.Fields(i).Name, rsA.Fields(i).Type, adFldMayBeNull + adFldIsNullable + adFldUpdatable
Next
'添加rsA到rs
If Not rsA.EOF Then
rsA.MoveFirst
If rs.State = adStateClosed Then rs.Open
While Not rsA.EOF
rs.AddNew
For i = 0 To rs.Fields.Count - 1
rs(i) = rsA(i)
Next
rsA.MoveNext
Wend
rs.UpdateBatch
End If
'添加rsB到rs
If Not rsB.EOF Then
rsB.MoveFirst
If rs.State = adStateClosed Then rs.Open
While Not rsB.EOF
rs.AddNew
For i = 0 To rs.Fields.Count - 1
rs(i) = rsB(i)
分享:解讀ACCESS的參數化查詢最近因項目需要用ACCESS做數據庫開發WEB項目,看論壇上還許多人問及ACCESS被注入的安全問題,許多人解決的方法仍然是用Replace替換特殊字符,然而這樣做也并沒有起到太大做用,今天我就把我用ACCESS參數化查詢的一些方法和經驗和大家分享,希望對大家有所啟
相關Access數據庫教程:
- 相關鏈接:
- 教程說明:
Access數據庫教程-揭秘Access數據庫過大問題的幾種解決方案(2)
。