2013-08-30 37 views
-2

我有一個Windows應用程序,它在數據庫中執行一些SQL查詢。如果我們連接到數據庫並手動執行,我們將從sql server management studio(SSMS)獲得一些消息,可能是成功或失敗。我希望將該消息打印在我的應用程序消息框中。我用Google搜索,並嘗試了一些這樣的代碼:SQL執行查詢輸出顯示在一個消息框

string test = ((string)SqlCmd.ExecuteScalar()); 
MessageBox.Show(test); 

但是這是人在這裏印刷的東西的結果,這是不預期。我通過手動執行相同的步驟進行了確認,這顯示了我成功的消息

任何人都可以幫助我嗎?任何意見將非常感激..

回答

0

你需要做的是將執行包裝在try catch block,並顯示消息,如果發生異常,否則,成功。

喜歡的東西

try 
{ 
    SqlCmd.ExecuteScalar(); 
    MessageBox.Show("Success"); 
} 
catch(Exception ex) 
{ 
    MessageBox.Show(String.Format("An exception occurred : {0}", ex.Message); 
} 

Exception class可能會有點通用的,所以你可能笏細化與多個捕獲catch塊來處理錯誤消息。

+0

我要打印的,我們得到,而在這種情況下做manually..Here我不是消息收到該消息。 – vysakh

+1

對不起,但我喜歡你已經去過的'MessageBob'的東西。聽起來像是一個消息傳遞庫的好名字。 – Moeri

+0

@Moeri修好了抱歉。可能是像舊的MS Word中的助理一樣? –

0

如果使用的ExecuteScalar不需要的話,那麼我建議你使用的方法中的一種解釋here

+0

我該怎麼做?對此有何想法? – vysakh

+0

你需要使用ExecuteScalar嗎?如果不是使用這個線程中討論的解決方案之一http://stackoverflow.com/questions/18211964/retrieving-value-from-sql-executescalar – user65439

+0

我還建議你看看實體框架,幷包裝你的數據庫代碼使用語句。 – user65439