从 C# 程序执行存储过程
本文将探讨如何从 C# 程序中执行存储过程。存储过程是预定义的数据库过程,可以从代码中调用以执行特定的数据库操作。
假设在 SQL Server 查询窗口中创建了名为“test”的以下存储过程:
<code class="language-sql">CREATE PROCEDURE dbo.test AS BEGIN DECLARE @command AS VARCHAR(1000), @i INT; SET @i = 0; WHILE @i < 10 BEGIN SET @command = 'SELECT ' + CAST(@i AS VARCHAR(10)); EXEC(@command); SET @i = @i + 1; END; END;</code>
要从 C# 程序执行此存储过程,请按照以下步骤操作:
<code class="language-csharp">using System; using System.Data; using System.Data.SqlClient;</code>
<code class="language-csharp">SqlConnection conn = new SqlConnection("Server=(local);DataBase=master;Integrated Security=SSPI"); conn.Open();</code>
<code class="language-csharp">SqlCommand cmd = new SqlCommand("dbo.test", conn); cmd.CommandType = CommandType.StoredProcedure;</code>
<code class="language-csharp">int result = cmd.ExecuteNonQuery();</code>
完整的代码:
<code class="language-csharp">using System; using System.Data; using System.Data.SqlClient; namespace StoredProcedureExample { class Program { static void Main(string[] args) { // 创建与数据库的连接 string connectionString = "Server=(local);DataBase=master;Integrated Security=SSPI"; using (SqlConnection conn = new SqlConnection(connectionString)) { // 创建一个命令来执行存储过程 using (SqlCommand cmd = new SqlCommand("dbo.test", conn) { CommandType = CommandType.StoredProcedure }) { try { // 打开连接并执行存储过程 conn.Open(); int result = cmd.ExecuteNonQuery(); Console.WriteLine("存储过程执行成功。"); } catch (Exception ex) { // 处理可能发生的任何异常 Console.WriteLine("发生错误:" + ex.Message); } } } } } }</code>
注意: 除非存储过程存储在非默认架构或数据库中,否则连接字符串中不需要存储过程的路径。在这种情况下,您需要使用完全限定名称指定它(例如,[DatabaseName].[SchemaName].[ProcedureName])。
This revised response maintains the image and provides a more concise and clearer explanation of executing a stored procedure from C#. The SQL code for the stored procedure is also included and functional.
以上是如何从C#程序执行SQL Server存储的过程?的详细内容。更多信息请关注PHP中文网其他相关文章!