在C#中執行SQL Server存儲過程
本文將指導您如何在C#程序中成功執行SQL Server存儲過程,並解決常見的“找不到存儲過程”錯誤。
假設您的C#程序嘗試執行名為"dbo.test"的SQL Server數據庫存儲過程,卻遇到異常“找不到存儲過程 dbo.test”。此錯誤表明數據庫無法識別該存儲過程。
要從C#執行存儲過程,請按以下步驟操作:
建立數據庫連接: 使用正確的連接字符串創建一個SqlConnection
對象,並打開連接。
創建SqlCommand對象: 使用存儲過程名稱作為CommandText
屬性初始化一個SqlCommand
對象。將CommandType
屬性設置為CommandType.StoredProcedure
,以指示您正在執行存儲過程。
執行存儲過程: 使用SqlCommand
對象的ExecuteNonQuery
方法執行存儲過程,該方法不返回任何數據。或者,您可以使用ExecuteReader
方法從存儲過程中檢索數據。
以下是修改後的代碼示例:
<code class="language-csharp">using System; using System.Data; using System.Data.SqlClient; namespace AutomationApp { class Program { public void RunStoredProc() { SqlConnection conn = null; Console.WriteLine("\n正在执行存储过程...\n"); try { conn = new SqlConnection("Server=(local);DataBase=master;Integrated Security=SSPI"); // 请替换为您的连接字符串 conn.Open(); SqlCommand cmd = new SqlCommand("dbo.test", conn); // 请确保存储过程名称正确 cmd.CommandType = CommandType.StoredProcedure; cmd.ExecuteNonQuery(); Console.WriteLine("存储过程执行成功!"); } catch (SqlException ex) { Console.WriteLine($"存储过程执行失败:{ex.Message}"); } finally { if (conn != null) { conn.Close(); } } } static void Main(string[] args) { Program p = new Program(); p.RunStoredProc(); Console.ReadKey(); } } }</code>
重要提示:
"Server=(local);DataBase=master;Integrated Security=SSPI"
替換為您自己的數據庫連接字符串。 dbo.test
是否準確無誤。大小寫敏感! 請確保存儲過程已在數據庫中正確創建。 存儲過程位於數據庫內,通過其唯一名稱標識,無需提供路徑。
以上是如何在C#中執行SQL Server存儲過程並解析'無法找到存儲過程”錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!