問題如圖,希望各位大大們能指點迷津,任何的回答可能都是我解決的一小步。
這隻程式比較早以前的版本跑都沒問題,用新的版本compile後都擲回例外,能爬的文都爬過了,該設的值也都設了,求助無門實在無解只好上來求助,希望鞭小力點,小弟真的菜~謝謝
附上全部的程式碼
第一個猜測是
DBClass db = new DBClass(General.DataBaseType.MSSQL, "DB2");
這列沒有成功
也就是 db = null
以致在 db.doTransaction 時發生錯誤
第一個怪怪的
DataBaseType.MSSQL 後面的名字卻是 DB2
有點拿明朝的劍斬清朝的官的味道
第二個怪怪的
Line 60 設定了 strSQL 的值
之後就再也沒用到
如此 DB.doTransaction Do 的到底是什麼 Transaction ?
第三個怪怪的
AddSqlParameter 一般是把參數 bind 給 Prepared SQL statement
貴公司程式卻 bind 給 db (DBClass)
看起來要先把strSQL加進來,之後bind parameter才有意義。可能漏了這個,然後因為lazy操作,實際上bind的動作會等到DoTransaction時才做,這時找不到要bind parameter的sql,然後跳出null instance錯誤。
catch錯誤然後印出exception的InnerException的資訊應該會更有幫助。
感覺不像是完整的程式碼
由考古說明來看
缺少了db.AddCommand(strSQL);
這列
以程式碼的空列習慣來猜
應該是補在第 63 列的位置
已補上Ferry Man說明書,因為這是前人留下的程式碼...我也讀得不是很懂..這網站最近一直有bug出現所以才想辦法弄懂好來debug
感謝海綿寶寶大大,但加上了還是一樣錯誤在同一行擲回錯誤,我在想如果程式碼沒有問題有沒有可能是.net 或dll版本不符之類的