Rumah > pembangunan bahagian belakang > C++ > Bagaimanakah saya boleh melaksanakan prosedur tersimpan SQL Server di C# dan menyelesaikan ralat 'tidak dapat mencari prosedur tersimpan'?

Bagaimanakah saya boleh melaksanakan prosedur tersimpan SQL Server di C# dan menyelesaikan ralat 'tidak dapat mencari prosedur tersimpan'?

DDD
Lepaskan: 2025-01-30 17:36:11
asal
281 orang telah melayarinya

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

Jalankan prosedur penyimpanan SQL Server di C#

Artikel ini akan membimbing anda bagaimana untuk berjaya melaksanakan prosedur penyimpanan SQL Server dalam program C#dan menyelesaikan kesilapan "tidak dapat mencari prosedur penyimpanan" biasa.

Anggapkan bahawa program C#anda cuba untuk melaksanakan prosedur penyimpanan pangkalan data SQL Server yang dinamakan "dbo.test", tetapi menemui "tidak normal" tidak dapat mencari prosedur penyimpanan dbo.test ". Kesalahan ini menunjukkan bahawa pangkalan data tidak dapat mengenal pasti prosedur yang disimpan.

Untuk melaksanakan prosedur penyimpanan dari C#, sila ikuti langkah -langkah di bawah untuk beroperasi:

    Mewujudkan sambungan pangkalan data:
  1. Gunakan rentetan sambungan yang betul untuk membuat objek

    dan buka sambungan. SqlConnection

    Buat objek SQLCommand:
  2. Gunakan Nama Prosedur Penyimpanan sebagai . Tetapkan atribut ke

    untuk menunjukkan bahawa anda melakukan prosedur penyimpanan. CommandText SqlCommand Jalankan Prosedur Penyimpanan: CommandType Gunakan kaedah CommandType.StoredProcedure objek

    untuk melaksanakan prosedur penyimpanan, dan kaedah ini tidak akan mengembalikan sebarang data. Sebagai alternatif, anda boleh menggunakan kaedah untuk mendapatkan data dari prosedur penyimpanan.
  3. Berikut adalah contoh kod yang diubah suai: SqlCommand ExecuteNonQuery Petua Penting: ExecuteReader

Sila ganti ke rentetan sambungan pangkalan data anda sendiri.

dengan teliti periksa nama prosedur penyimpanan
<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>
Salin selepas log masuk
sama ada tepat. Smallwriter Sensitif!

Tambah Rawatan Ralat (Cuba-Catch) untuk mengendalikan kesilapan pangkalan data yang berpotensi.

    Sila sahkan prosedur penyimpanan yang telah dibuat dengan betul dalam pangkalan data. Prosedur penyimpanan terletak di pangkalan data.

Atas ialah kandungan terperinci Bagaimanakah saya boleh melaksanakan prosedur tersimpan SQL Server di C# dan menyelesaikan ralat 'tidak dapat mencari prosedur tersimpan'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan