none
關於連接Microsoft Access Database 的問題 RRS feed

  • 問題

  • 大家好!

    我在製作一個遊戲內有帳戶,而帳戶資料是存在access database.我開了個Module並寫了以下的code.

    Public con As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source= ..\ICT\SBA\Torpedosweepers1 - Copy\Torpedosweepers1\bin\Debug\torpedosweepers1.mdb")

    接着,我在Login做一個Display Data,以下是code

    Public Sub Display_Data()
            con.Open()

            Dim dt As New DataTable("tblUser")
            Dim rs As New OleDb.OleDbDataAdapter("Select UserID, Passwords from tblUser", con)
              rs.Fill(dt)
            DataGridView1.DataSource = dt
            DataGridView1.Refresh()

            Label1.Text = dt.Rows.Count

            rs.Dispose()
        End Sub

    之前幾天的Login test都沒有問題,但剛才run的時候說"con.Open()"有問題,說不是一個有效的 path。

    我已經試了用properties的link 用作path好幾次,但也沒有用。

    我想問我還可以怎麼做?

    感謝閱畢和降答的人們!!

    • 已移動 璉璉 2015年10月17日 上午 07:12
    2015年9月28日 下午 01:16

解答

  • 1. 請用全路徑

    2. 使用相對路徑時,請讀取工作路徑來除錯。


    不精確的問法,就會得到隨便猜的答案;自己都不肯花時間好好描述問題,又何必期望網友會認真回答?

    • 已提議為解答 Bill ChungMVP 2015年10月1日 下午 12:48
    • 已標示為解答 璉璉 2015年10月17日 上午 07:11
    2015年9月28日 下午 01:21
  • 1. 你並沒有給完整錯誤訊息,只說了 Path 有問題,所以我只能推斷是路徑字元太多 (比較早期的 Library 似乎有 MAX_PATH = 260 的限制),建議你把資料庫路徑設短點,如果是在執行檔內的資料夾,請用 Environment.CurrentDirectory 來替代那個超長路徑。

    2. 簽名檔與回應不同,只要是論壇幾乎都有簽名檔,所以不需要在簽名檔上做文章。


    強力監督SQL Injection問題!!

      • 小朱的技術隨手寫:http://www.dotblogs.com.tw/regionbbs/
      • 雲端學堂Facebook: http://www.facebook.com/studyazure

    • 已標示為解答 璉璉 2015年10月17日 上午 07:11
    2015年9月28日 下午 02:17
    版主

所有回覆

  • 1. 請用全路徑

    2. 使用相對路徑時,請讀取工作路徑來除錯。


    不精確的問法,就會得到隨便猜的答案;自己都不肯花時間好好描述問題,又何必期望網友會認真回答?

    • 已提議為解答 Bill ChungMVP 2015年10月1日 下午 12:48
    • 已標示為解答 璉璉 2015年10月17日 上午 07:11
    2015年9月28日 下午 01:21
  • 您好, 感謝您的回答。

    首先,因為我是用2010版的所以在coding上有點不一樣。

    第二,因為我這個程式有9個form還沒有計算database link甚麼的。我只怕我把全部都貼出來你們在看的時候比較吃力。

    再者,也許你會感覺我沒有花時間好好描述問題。

    但我是花因多時間去把我想表達的話語轉換至中文。

    多謝您的回答令我沒有了期望。

    我是一個要靠這program拿hkdse的其中一科的其中20%來入大學。

    也許你們如果不當工程師還可以賣雞排。可是我是在一個沒有甚麼錢的家庭,如果你要我在香港去賣雞排是不可能的。我現在問大家是因為我校的老師只會叫我斬掉重做,而我的同學更不懂解答這問題。我已經沒有時間重做了。我有很多測驗補習要考和上的。我現在也是用我休息的時間去完成。沒有上大學的困難可以不要這樣說話好嗎?

    我們是7萬多人爭2萬幾個學位。

    香港不比台灣的好多少,我們還要跟大陸的人爭入大學。我們入不了大學也可以去吃土,但雞排也沒有。

    我還是感謝您花了好幾分鐘看和回應我的問題。


    2015年9月28日 下午 01:50
  • 那條線以下的是 "簽名檔" , 不是回應的內容.


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    2015年9月28日 下午 01:57
  • 感謝Bill您的回應。

    致第一位回應的用家,

    也許會感覺我沒有花時間好好描述問題,而我只是坐等答案。

    但我可以告訴您我只為做個Login system我斬掉重做了7次。

    希望您不要只在自身方度出發。

    Sometimes, you also need to put into other people's shoes and walk a few step. This is a must for you to do so in doing anything in different aspect.

    Yes, I am more confident in English rather using Chinese to tell you what I what to say and ask. :)

    2015年9月28日 下午 02:10
  • 1. 你並沒有給完整錯誤訊息,只說了 Path 有問題,所以我只能推斷是路徑字元太多 (比較早期的 Library 似乎有 MAX_PATH = 260 的限制),建議你把資料庫路徑設短點,如果是在執行檔內的資料夾,請用 Environment.CurrentDirectory 來替代那個超長路徑。

    2. 簽名檔與回應不同,只要是論壇幾乎都有簽名檔,所以不需要在簽名檔上做文章。


    強力監督SQL Injection問題!!

      • 小朱的技術隨手寫:http://www.dotblogs.com.tw/regionbbs/
      • 雲端學堂Facebook: http://www.facebook.com/studyazure

    • 已標示為解答 璉璉 2015年10月17日 上午 07:11
    2015年9月28日 下午 02:17
    版主
  • Thanks for your reply.

    Since I can't upload the print screen out, I just copy the whole word for you as the follow.

    OleDbException was unhandled 

    'E:\ICT\SBA\Torpedosweepers1 - Copy\Torpedosweepers1\bin\ICT\SBA\Torpedosweepers1 -Copy\Torpedosweepers1\bin\Debug\torpedosweepers1.mdb' is not a valid path.  Make sure that the path name is spelled correctly and that you are connected to the server on which the file resides.

    I hv rename the path for several times but it still doesn't work.

    Tell me what can I do further kindly.:)


    2015年9月28日 下午 02:32
  • 感謝Bill您的回應。

    致第一位回應的用家,

    也許會感覺我沒有花時間好好描述問題,而我只是坐等答案。

    但我可以告訴您我只為做個Login system我斬掉重做了7次。

    希望您不要只在自身方度出發。

    Sometimes, you also need to put into other people's shoes and walk a few step. This is a must for you to do so in doing anything in different aspect.

    Yes, I am more confident in English rather using Chinese to tell you what I what to say and ask. :)

     我的意思是說, 心冷大的回應中, 那條線的上方"1. 請用全路徑 2. 使用相對路徑時,請讀取工作路徑來除錯。" 是回應你的問題的內容.

    而那條線下方的 "不精確的問法,就會得到隨便猜的答案;自己都不肯花時間好好描述問題,又何必期望網友會認真回答?" 並不是在回應你, 那只是他的簽名檔, 是每篇文都會跑出來的東西 ..


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    2015年9月28日 下午 02:58
  • Please restore your database to shorter path (e.g. E:\mydb.db) and try again.

    If you want to implement multi-client application, please replace your DBMS to SQL Server or MySQL.


    強力監督SQL Injection問題!!

      • 小朱的技術隨手寫:http://www.dotblogs.com.tw/regionbbs/
      • 雲端學堂Facebook: http://www.facebook.com/studyazure

    2015年9月28日 下午 03:06
    版主