none
vb查詢mysql的指令問題 RRS feed

  • 問題

  • 想請教大家,我希望用vb.net寫查詢mysql的程式,以下是我寫的方法,因為不太會寫查詢的程式,所以我的想法是將欲查詢的字串寫入textbox中,指派到WHERE條件內,進行MYSQL查詢,是我自己想的方法,因為網路上的查詢語法不太了解,所以使用比較不簡潔的方法,但是問題來了,我執行時會有BUG

    類型 'MySql.Data.MySqlClient.MySqlException' 的未處理例外狀況發生於 MySql.Data.dll

    其他資訊: Unknown column 'POnumber' in 'field list'

    我在網路上有查詢到相關的問題,但是其他人好像是換個欄位就可以了,但是我換到整數欄位後仍有相同的問題,我測試過兩個資料庫,一個是只有一張表格另一個是有三張表格,兩個資料庫連接方式相同,但是一張表格執行OK,三份表格執行的就不成功,出現問題如上,希望各位前輩能提供我一些意見改進,>""<拜託大家了!!!非常感謝~~如有不足的地方我會盡快補上,謝謝!!!

      Dim mysqlconn As MySqlConnection
      Dim com As MySqlCommand
      Dim dr As MySqlDataReader
    
        com = New MySqlCommand("Select POnumber FROM address WHERE Acode= " + TextBox13.Text, mysqlconn)
        'com = New MySqlCommand("Select number FROM postoffice WHERE datatime= " + TextBox13.Text, mysqlconn)
        dr = com.ExecuteReader()
        While dr.Read()
          TextBox14.AppendText("id=" & dr!POnumber)
        End While
        dr.Close()
    
    2010年8月29日 上午 02:01

解答

  • 您之前的發問,不是有用參數化嗎?如果不是整數欄位,變數前後要加單引號吧...
    2010年8月29日 上午 04:55
  • 在 Visual Studio IDE 左邊伺服器總管 建立連線,並透過介面建立查詢語法與執行,直接把該查詢語法複製給你程式使用。
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2010年8月29日 上午 11:59

所有回覆

  • 您之前的發問,不是有用參數化嗎?如果不是整數欄位,變數前後要加單引號吧...
    2010年8月29日 上午 04:55
  • 在 Visual Studio IDE 左邊伺服器總管 建立連線,並透過介面建立查詢語法與執行,直接把該查詢語法複製給你程式使用。
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2010年8月29日 上午 11:59
  • To Joe大,雖然之前寫的方法是用參數化,不過那是參考資料庫的書籍改寫來的,所以其實沒有很透徹的了解,我想我還是需要更多一點的練習才有辦法更了解,不過很謝謝您的指導,感謝喔!!

    謝謝兩位前輩的指導,我成功了,不過問題好像是出現在資料庫的設定問題,很感謝兩位的指導和建議!因為有新的想法讓我去思考,只是可惜還是沒找到真正的問題。

    而我現在的解決方法就是選擇整數欄位作為where的查詢條件,不過很確切的問題我還是沒有辦法找到,因為在哪之後又遇到mysql的資料庫出現了fatal error的問題,上網看mysql的官方討埨區似乎是有些mysql本身的bug問題,也沒有很明確的解決方法,我想到的就是欄位設定和資料表之間的設定問題,所以就不停的設定新的資料表測試,直到成功的執行資料表和資料庫的查詢。

     

    2010年8月31日 上午 08:58