1. 求關於易語言ACCESS資料庫與高級表格的詳細教程源碼(用的是資料庫連接與記錄集)高分懸賞!!
.版本2
.子程序建立mdb資料庫,整數型,公開,成功返回0,失敗返回-1和-2。注意:已經存在的庫和表,就不能再建立了。
.參數路徑,文本型,,要存放文件的路徑
.參數接收文件名,文本型,,要存放的庫文件名
.參數密碼,文本型,可空,庫文件密碼
.參數數據表名,文本型,,表名
.參數欄位名,文本型,,個欄位的名字、類型、長度的字元串
.參數刪除表,邏輯型,可空,是否刪除表,默認為假
.參數刪除欄位,邏輯型,可空,是否刪除欄位,默認為假
.局部變數connad,對象
.局部變數conn,對象
.局部變數Connstr,文本型
Connstr=「Provider=Microsoft.Jet.OLEDB.4.0;DataSource=」+路徑+「」+接收文件名+選擇(是否為空(密碼),「」,「;JetOLEDB:DatabasePassword=」+密碼)
connad.清除()
conn.清除()
.如果(connad.創建(「ADOX.Catalog」,)=假)
輸出調試文本(「ADOX.Catalog對象創建失敗」)
返回(-1)
.否則
connad.通用方法(「Create」,Connstr)
.如果結束
'connad.查看()
.如果(conn.創建(「Adodb.Connection」,)=假)
輸出調試文本(「Adodb.Connection對象創建失敗」)
返回(-2)
.否則
conn.方法(「Open」,Connstr)
.如果(刪除表=真)
conn.對象型方法(「Execute」,「DROPTABLE」+數據表名)'刪除表
輸出調試文本(「刪除成功」)
.否則
.如果(刪除欄位=真)
conn.對象型方法(「Execute」,「ALTERTABLE[」+數據表名+「]DROPCOLUMN[」+欄位名+「]」)'刪除欄位
輸出調試文本(「zdm:」+欄位名)
.否則
conn.對象型方法(「Execute」,「createtable」+數據表名+「(」+欄位名+「)」)'建立新表
.如果結束
.如果結束
.如果結束
conn.方法(「Close」,)
刪除表=假
刪除欄位=假
返回(0)
.子程序取欄位類型名,文本型,公開,取欄位類型名返回中文
.參數類型,整數型,可空
.局部變數結果,文本型
.判斷開始(類型=17)
結果=「數字[位元組型](Byte)」
.判斷(類型=3)
結果=「數字[長整型](Long)」
.判斷(類型=2)
結果=「數字[整型](Short)」
.判斷(類型=4)
結果=「數字[單精度](Single)」
.判斷(類型=5)
結果=「數字[雙精度](Double)」
.判斷(類型=6)
結果=「貨幣型(Currency)」
.判斷(類型=130)
結果=「文本型(Char)」
.判斷(類型=11)
結果=「邏輯型(BIT)」
.判斷(類型=204)
結果=「二進制型(Binary)」
.判斷(類型=3)
結果=「自動編號(Counter)」
.判斷(類型=203)
結果=「備注型(Memo)」
.判斷(類型=7)
結果=「日期/時間(Time)」
.判斷(類型=131)
結果=「小數型(Decimal)」
.判斷(類型=0)
結果=「#空白型欄位(Empty)」
.默認
結果=「未知數據,可能會導致數據出錯。」
.判斷結束
返回(結果)
.子程序取表名,邏輯型,公開
.參數路徑文件名,文本型
.參數密碼,文本型,可空
.參數文件名,文本型,,文件名,無需寫路徑
.參數表名數組,文本型,參考數組
.局部變數Mycat對象,對象
.局部變數Tables對象,對象
.局部變數連接文本,文本型
.局部變數i,整數型
.局部變數表數量,整數型
.局部變數表名,文本型
.如果真(Mycat對象.創建(「ADOX.Catalog」,)=假)
信息框(「你的機器上沒有安裝ADO。文件位置是C:.dll」,0,)
結束()
.如果真結束
連接文本=「Provider=MicroSoft.Jet.OLEDB.4.0;DataSource=」+文件名+選擇(是否為空(密碼),「」,「;JetOLEDB:DatabasePassword=」+密碼)
Mycat對象.寫屬性(「ActiveConnection」,連接文本)
Tables對象=Mycat對象.讀對象型屬性(「Tables」,)
表數量=Tables對象.讀數值屬性(「Count」,)
.計次循環首(表數量,i)
表名=Tables對象.讀對象型屬性(「Item」,i-1).讀文本屬性(「Name」,)'序號從0開始
.如果真(取文本左邊(表名,4)≠「MSys」)'過慮掉系統表名
加入成員(表名數組,表名)
'輸出調試文本(「表名:」+表名)
.如果真結束
.計次循環尾()
Tables對象.清除()
Mycat對象.清除()
返回(真)
.子程序顯示欄位信息,整數型,公開
.參數路徑,文本型,,要存放文件的路徑
.參數接收文件名,文本型,,要存放的庫文件名
.參數密碼,文本型,可空,庫文件密碼
.參數數據表名,文本型,,表名
.局部變數連接對象,對象
.局部變數表對象,對象
.局部變數連接文本,文本型
.局部變數表數計次,整數型
.局部變數表數量,整數型
.局部變數表名,文本型
.局部變數欄位數量,整數型
.局部變數欄位名,文本型
.局部變數欄位計次,整數型
.局部變數欄位類型,整數型
.局部變數欄位長度,整數型
.如果真(連接對象.創建(「ADOX.Catalog」,)=假)
信息框(「你的機器上沒有安裝ADO。文件位置是C:.dll」,0,)
結束()
.如果真結束
連接文本=「Provider=Microsoft.Jet.OLEDB.4.0;DataSource=」+路徑+「」+接收文件名+選擇(是否為空(密碼),「」,「;JetOLEDB:DatabasePassword=」+密碼)
輸出調試文本(密碼)
輸出調試文本(密碼)
連接對象.寫屬性(「ActiveConnection」,連接文本)
表對象=連接對象.讀對象型屬性(「Tables」,)
'表數量=Tables對象.讀數值屬性(「Count」,)
表名=數據表名
欄位數量=表對象.讀對象型屬性(「Item」,表名).讀對象型屬性(「Columns」,).讀數值屬性(「Count」,)
.計次循環首(欄位數量,欄位計次)
欄位名=表對象.讀對象型屬性(「Item」,表名).讀對象型屬性(「Columns」,).讀對象型屬性(「Item」,欄位計次-1).讀文本屬性(「Name」,)
欄位類型=表對象.讀對象型屬性(「Item」,表名).讀對象型屬性(「Columns」,).讀對象型屬性(「Item」,欄位計次-1).讀數值屬性(「Type」,)
欄位長度=表對象.讀對象型屬性(「Item」,表名).讀對象型屬性(「Columns」,).讀對象型屬性(「Item」,欄位計次-1).讀數值屬性(「DefinedSize」,)
'輸出調試文本(到文本(欄位長度))
'輸出調試文本(取類型名(欄位類型))
'輸出調試文本(到文本(欄位類型))
.計次循環尾()
表對象.清除()
連接對象.清除()
返回(0)
.子程序取欄位類型1,文本型,公開,取欄位類型名返回英文
.參數類型,文本型,可空
.局部變數結果,文本型
.判斷開始(類型=「數字[位元組型]」)
結果=「Byte」
.判斷(類型=「數字[長整型]」)
結果=「Long」
.判斷(類型=「數字[整型]」)
結果=「Short」
.判斷(類型=「數字[單精度]」)
結果=「Single」
.判斷(類型=「數字[雙精度]」)
結果=「Double」
.判斷(類型=「貨幣型」)
結果=「Currency」
.判斷(類型=「文本型」)
結果=「Char」
.判斷(類型=「文本1」)
結果=「Text(n)」
.判斷(類型=「邏輯型」)
結果=「BIT」
.判斷(類型=「二進制型」)
結果=「Binary」
.判斷(類型=「自動編號」)
結果=「Counter」
.判斷(類型=「備注型」)
結果=「Memo」
.判斷(類型=「日期/時間」)
結果=「Time」
.判斷(類型=「小數型」)
結果=「Decimal」
.判斷(類型=「」)
結果=「」
.默認
結果=「未知數據,可能會導致數據出錯。」
.判斷結束
返回(結果)
.子程序取Access密碼,邏輯型,公開,取Access密碼,成功返回真,失敗返回假
.參數路徑文件名,文本型
.參數密碼,文本型
.參數版本,文本型
.局部變數文件號
.局部變數加密標志,整數型
.局部變數PassSource97,位元組型,,"13"
.局部變數PassSource2k,位元組型,,"13"
.局部變數i
.局部變數temp,位元組型
.局部變數a
.局部變數標志,邏輯型
.局部變數結果文本,文本型
PassSource97={134,251,236,55,93,68,156,250,198,94,40,230,19}
PassSource2k={161,236,122,156,225,40,52,138,115,123,210,223,80}'加密標志是0x13(19)
文件號=打開文件(路徑文件名,1,)
移動讀寫位置(文件號,#文件首,20)'/0x42處
讀入數據(文件號,temp)
.判斷開始(到數值(temp)=0)
版本=「ACCESS_97」
.變數循環首(1,13,1,i)
移動讀寫位置(文件號,#文件首,65+i)'0x42處
讀入數據(文件號,temp)
a=位異或(到數值(temp),PassSource97[i])
.如果真(a=0)
密碼=「密碼為空」
.如果真結束
結果文本=結果文本+字元(a)
.變數循環尾()
.默認
版本=「ACCESS_2K」
移動讀寫位置(文件號,#文件首,98)'0x62處
讀入數據(文件號,temp)
標志=假
加密標志=位異或(到數值(temp),19)
.變數循環首(1,26,2,i)
移動讀寫位置(文件號,#文件首,65+i)'0x42處
讀入數據(文件號,temp)
.如果真(到數值(temp)=0)
跳出循環()
.如果真結束
標志=取反(標志)
.判斷開始(標志)
a=位異或(位異或(到數值(temp),PassSource2k[(i+1)÷2]),加密標志)
.如果真(a<32或a>126)
密碼=「密碼為空」
.如果真結束
.默認
a=位異或(到數值(temp),PassSource2k[(i+1)÷2])
.判斷結束
結果文本=結果文本+字元(a)
.變數循環尾()
.判斷結束
密碼=結果文本
關閉文件(文件號)
返回(真)
2. 易語言操作MDB資料庫,求大神指點
就是sql語句,利用資料庫連接1和記錄集就可以了
.版本2
.支持庫eDB
.如果真(資料庫連接1.連接Access(取運行目錄()+「MDB.mdb」,「」)=假)
信息框(「連接資料庫失敗!」,0,)
返回()
.如果真結束
記錄集1.置連接(資料庫連接1)
.版本2
.支持庫eDB
sql=「insertinto通訊表(姓名,電話,地址)values('」+編輯框1.內容+「','」+編輯框3.內容+「','」+編輯框2.內容+「')」
.如果(_啟動窗口.資料庫連接1.執行SQL(sql)=假)
信息框(「添加記錄失敗!」,0,)
.版本2
.支持庫iext
.支持庫eDB
臨時=「update通訊表set姓名='」+編輯框1.內容+「',電話='」+編輯框3.內容+「',地址='」+編輯框2.內容+「'where編號=」+超級列表框1.取標題(超級列表框1.現行選中項,0)
.如果(_啟動窗口.資料庫連接1.執行SQL(臨時)=假)
信息框(「更改數據失敗」,0,)
編輯框2.內容=臨時
.版本2
.支持庫iext
.支持庫eDB
SQL=「deletefrom通訊表where編號=」+超級列表框1.取標題(超級列表框1.現行選中項,0)
.如果(_啟動窗口.資料庫連接1.執行SQL(SQL)=假)
信息框(「刪除數據失敗!@」,0,)
.否則
3. 易語言如何寫入資料庫
.版本
2
.程序集
啟動窗口程序集
.子程序
__啟動窗口_創建完畢
外部資料庫.打開MDB資料庫
(「aaa.mdb」,
,
,
,
)
外部資料庫.執行
(「UPDATE
aaa
SET
bbb='」
+
編輯框1.內容
+
「'
WHERE
ccc=」
+
編輯框2.內容,
)
外部資料庫.關閉
()
;你手工建個access資料庫,表的名稱aaa,有兩項bbb和ccc
;bbb為文本型
;用ccc做主鍵,改成自動編號。
;更改記錄用到
update
語句
;查詢記錄用到
select
語句,
;外部資料庫.查詢
(「select
*
from
aaa」)
;要學資料庫,你最好找sql語句看一下,要不寫不下去的。
4. 請問如何通過易語言代碼來創建ACCESS資料庫表名和欄位名
添加一個 外部資料庫1 .版本 2 外部資料庫1.打開MDB資料庫 (「文件名」, 「用戶名」, 「密碼」, , 真) 外部資料庫1.執行 (「CREATE TABLE biao (test TEXT , test2 TEXT)」, )