台灣最大程式設計社群網站
線上人數
1180
 
會員總數:240874
討論主題:186645
歡迎您免費加入會員
討論區列表 >> C# >> 關於"SEHException未處理"
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
關於"SEHException未處理"
價值 : 100 QP  點閱數:419 回應數:11

樓主

Amigo
初學者
35 8
458 41
發送站內信

小弟我在幾個月前寫了一個小程式用於讀取一個accdbd檔案
當時是成功的,正常運行讀取的.
最近由於想加一些新功能,但當我除錯測試運行時就出問題了.
以下是一部份代碼:


然後它就在open那一句出錯,出錯題目是"SEHException未處理"
內容是:類型 'System.Runtime.InteropServices.SEHException' 的未處理例外狀況發生於 System.Data.dll

quecy的查詢語句已經試過在ACCESS上沒有問題的
但在這幾個月中間小弟曾經重新安裝過電腦,會不會有關係?

幾個月前是WIN10+Visual Studio 2015+OFFICE 2010
現在是WIN10+Visual Studio 2015+OFFICE 2013

搜尋相關Tags的文章: [ SEHException ] , [ OLEDB ] ,
本篇文章發表於2017-03-13 13:46
== 簽名檔 ==
本人只是一個初學者,如果發言有錯請立即指出.
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

Daimom
捐贈 VP 給 Daimom 檢舉此回應
我建議你在最外層包一下try catch 抓一下錯誤訊息。
本篇文章回覆於2017-03-14 10:56
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

Amigo
檢舉此回應
其實我也試過try catch...但我不太會用,所以得出來的訊息還是不明白..



出來這一句...小弟才疏學淺,實在是不明什麼意思...
本篇文章回覆於2017-03-15 10:34
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

Daimom
捐贈 VP 給 Daimom 檢舉此回應
我是建議你下中斷點直接看ex 的訊息會比較好。
MSDN

以下是猜測,
1.acces檔案有問題
2.連線字串錯誤。

本篇文章回覆於2017-03-15 13:42
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

Amigo
檢舉此回應
Daimom大大,

我現在真的好無語啊....
在你猜測連線字串錯誤時我就特意去驗證了一下,直接重新開一個新專案砍掉重練
我把原來的小程式重要的代碼部份都Ctrl+C,Ctrl+V去新專案測試(一字不改,直接原用)
一試之下居然全部沒有問題通過了,我好無語啊....
之後再把其他代碼都Ctrl+C,Ctrl+V去新專案測試,也是一字不改,全部都通過沒有問題....

我的心情真的好無言,我好方啊...
有人能解答我嗎?為什麼?我開舊專案出問題,直接把代碼複製去新專案就沒問題.
本篇文章回覆於2017-03-24 09:52
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

Daimom
捐贈 VP 給 Daimom 檢舉此回應
舊專案的版本一樣?
舊專案的參考有東西lost掉或是版本不一樣。
本篇文章回覆於2017-03-24 10:53
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

Amigo
檢舉此回應
版本你是指Visual Studio嗎?還是指其他?
前面我也提及過了,VS的版本是一樣,其他的.NET也都安裝齊了,唯一不一樣的應該是OFFICE

而舊專案的參考東西應該也只有EPPLUS,但出錯的好像不是EPPLUS的部份,
而是數據庫連接的OPEN(),這不是using System.Data.OleDb;部份嗎?
這我也有寫....
本篇文章回覆於2017-03-24 12:07
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

Daimom
捐贈 VP 給 Daimom 檢舉此回應
前面的版本指的是 vs的版本沒錯,如果你確定一樣。
那下面參考的東西,不是只有指nuget下載的。
你從專案的屬性看一下『參考』。
另外,你如果覺得office不一樣,那你沒試過讓他一樣嗎?
除錯就是找出所有可能的因素一條一條改...
如果真的這樣就煩,誠心建議你不要走這條路,你會碰壁碰到翻桌=___=
本篇文章回覆於2017-03-24 13:59
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
作者回應

Amigo
檢舉此回應
由於是小小程式,基本上除了EPPLUS外,其他都是原本就有的預設



而OFFICE方面,在Daimom大你說用try catch抓錯時我已經試過換回以前的2010,但結果還是一樣

其實我也不是覺得煩,只是我說我的心情好無語,是因為我想得出有可能的方法都試過,但就是不明白為什麼新專案就沒問題
我實在是想不出還有什麼有可能的方面,所以才"囧"....

不過感謝Daimom大的耐心指教.
本篇文章回覆於2017-03-24 15:09
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
最有價值解答

Daimom
捐贈 VP 給 Daimom 檢舉此回應
你先點專案->右鍵->屬性
在點最左邊的參考
看一下版本號跟路徑位置。

你現在是新專案能跑了。
那就努力比較兩邊的差異吧。

從版本開始比較,然後裡面的參數設定開始...
本篇文章回覆於2017-03-24 16:17
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
作者回應

Amigo
檢舉此回應
Daimom大,我終於解決了問題了,=_=""雖然還不太明白原因.
以下是經過:

我根據Daimom大的建議,比較新舊專案屬性之間的不同...
然後發現了唯一不同的地方:


一個是4,一個是4.5.2,難道我沒安裝?所以我就上MS網頁下載NDP452-KB2901951-x86-x64-DevPack,
但下載其間我就奇怪了,我記憶中我應該都全安裝了,再確認一下


的確是已經安裝了...
不過反正都下載了,就當是重裝更新吧...

安裝之後就神奇地可以正常運行了,新舊專案都沒問題了....
這真的是迷,我不是已經安裝了嗎?
唉,仲之問題解決了就好了

最後再次感謝Daimom大的耐心指導.
本篇文章回覆於2017-03-27 11:29
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
回應

Daimom
捐贈 VP 給 Daimom 檢舉此回應
歹勢,最近剛離職沒看網站。
恭喜解決,也感謝你留下解決方式給下一個碰到相同問題的人看。
本篇文章回覆於2017-03-31 21:53
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.