① 易語言運行報錯 未指定資料庫或資料庫打開失敗 求高人指點
edb 不需要 置當前庫。 把那句去掉 就留 第一句 打開 就行了。 還有 既然都 取運行目錄了 。你確定 運行目錄下 有 學生庫.edb?
② 易語言運行就提示未指定當前資料庫或指定資料庫未打開哪裡出錯了
打開()命令下面的路徑寫錯了,所以也就打開失敗了,所以你調用會有這個錯誤的提示
把那個什麼 取運行目錄()刪掉
③ 易語言寫的軟體有些電腦打開會提示載入dll資料庫失敗
如果是傳給他人使用的,請把相關資料庫,支持庫,文件配置一並發送,或者把DLL文件放在程序的資源集里,首次使用或文件不存在的情況下再把DLL文件寫出到程序運行目錄
④ 我用易語言編寫的程序用到了易語言自帶的資料庫,直接靜態編譯,資料庫不能調用,是不是要生成安裝軟體
不是的,你源碼裡面讀取資料庫文件的時候地址是怎麼填的?應該是像這樣:「取運行目錄()+「」+「資料庫名稱.edb」」,這樣就可以了。然後你把資料庫文件和你生成的靜態編譯文件放在一個文件夾下。這樣就可以正常讀取了!
⑤ 易語言,求錯誤。調用DLL時,說是資料庫未打開或無未指定當前庫。 追加20分解決!!DLL 和日期簽名 同目錄
嗯。
問題其他的沒有什麼,主要就是出現在檢測簽名那個子程序裡面,dll命令有問題..沒有編譯的話就不行。其實的話,你本來那個代碼也是可以的,只要不用dll,就把dll那個子程序放到程序裡面,編譯後運行也沒有問題。
主要就是在資料庫的路徑上出現問題。
本來調試運行是在系統臨時文件夾裡面調試,那個文件夾裡面沒有資料庫文件,自然無法打開,所以會顯示打開失敗。下面我把你那個dll命令稍微的修改了一下,我想應該就可以了。
======================================================================
.版本 2
.子程序 簽名檢測, 整數型, 公開, 1,通過 0.未通過
.參數 簽名單位, 文本型
.參數 授權的方式, 整數型, , 1.時間限制型,此時簽名文件的失效時間起作用 2.次數限制型,此時簽名文件的使用次數起作用
.參數 資料庫路徑, 文本型, , 資料庫的絕對路徑=.=
.參數 資料庫密碼, 文本型, , 打開資料庫需要的密碼-.-
.局部變數 當前系統日期時間, 日期時間型
.局部變數 讀取的簽名單位, 文本型
.局部變數 讀取的授權方式, 整數型, , , 1.時間限制 2.次數限制
.局部變數 失效的時間, 日期時間型
.局部變數 使用的次數, 整數型
.局部變數 返回的數據, 整數型
當前系統日期時間 = 取現行時間 ()
打開 (資料庫路徑, , , , , 資料庫密碼, )
置當前庫 (資料庫路徑)
到首記錄 ()
讀取的簽名單位 = 讀 (「簽名單位」)
.如果 (讀取的簽名單位 = 簽名單位) ' 查對簽名單位
到首記錄 ()
讀取的授權方式 = 讀 (「授權方式」)
.如果 (授權的方式 = 讀取的授權方式) ' 檢測要求的授權方式與簽名文件的授權方式是否相同
.判斷開始 (授權的方式 = 1)
失效的時間 = 讀 (「失效時間」)
.如果 (取整 (取時間間隔 (當前系統日期時間, 失效的時間, #日)) < 0)
信息框 (「簽名文件已過期!」, 0, )
返回的數據 = 0
.否則
返回的數據 = 1
.如果結束
.判斷 (授權的方式 = 2)
使用的次數 = 讀 (「剩餘使用次數」)
.如果 (使用的次數 < 1)
信息框 (「簽名文件使用次數已經為:0 !」, 0, )
返回的數據 = 0
.否則
到首記錄 ()
使用的次數 = 讀 (「剩餘使用次數」)
寫 (「剩餘使用次數」, 使用的次數 - 1)
返回的數據 = 1
.如果結束
.默認
.判斷結束
.否則
信息框 (「簽名文件錯誤,授權方式不正確!」, 0, )
返回的數據 = 0
.如果結束
.否則
信息框 (「簽名單位錯誤,請使用正確的簽名授予單位的程序!」, 0, )
返回的數據 = 0
.如果結束
返回 (返回的數據)
======================================================================