首頁 > 後端開發 > C++ > 如何在C#中執行SQL Server存儲過程並解析'無法找到存儲過程”錯誤?

如何在C#中執行SQL Server存儲過程並解析'無法找到存儲過程”錯誤?

DDD
發布: 2025-01-30 17:36:11
原創
227 人瀏覽過

How Can I Execute a SQL Server Stored Procedure in C# and Resolve the

在C#中執行SQL Server存儲過程

本文將指導您如何在C#程序中成功執行SQL Server存儲過程,並解決常見的“找不到存儲過程”錯誤。

假設您的C#程序嘗試執行名為"dbo.test"的SQL Server數據庫存儲過程,卻遇到異常“找不到存儲過程 dbo.test”。此錯誤表明數據庫無法識別該存儲過程。

要從C#執行存儲過程,請按以下步驟操作:

  1. 建立數據庫連接: 使用正確的連接字符串創建一個SqlConnection對象,並打開連接。

  2. 創建SqlCommand對象: 使用存儲過程名稱作為CommandText屬性初始化一個SqlCommand對象。將CommandType屬性設置為CommandType.StoredProcedure,以指示您正在執行存儲過程。

  3. 執行存儲過程: 使用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 是否準確無誤。大小寫敏感!
  • 添加錯誤處理(try-catch塊),以便更好地處理潛在的數據庫錯誤。

請確保存儲過程已在數據庫中正確創建。 存儲過程位於數據庫內,通過其唯一名稱標識,無需提供路徑。

以上是如何在C#中執行SQL Server存儲過程並解析'無法找到存儲過程”錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板