如何在C#程序中执行存储过程

如何在C#程序中执行存储过程

我想从C#程序中执行这个存储过程。

我在SQLSERVER查询窗口中编写了以下存储过程,并将其保存为Store 1:

use master 
go
create procedure dbo.test asDECLARE @command as varchar(1000), @i intSET @i = 0WHILE @i < 5BEGINPrint 'I VALUE ' +CONVERT(varchar(20),@i)
EXEC(@command)SET @i = @i + 1END

编辑:

using System;using System.Collections.Generic;using System.Text;using System.Data;using System.Data.SqlClient;namespace AutomationApp{
    class Program
    {
        public void RunStoredProc()
        {
            SqlConnection conn = null;
            SqlDataReader rdr  = null;

            Console.WriteLine("\nTop 10 Most Expensive Products:\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;
                rdr = cmd.ExecuteReader();
                /*while (rdr.Read())
                {
                    Console.WriteLine(
                        "Product: {0,-25} Price: ${1,6:####.00}",
                        rdr["TenMostExpensiveProducts"],
                        rdr["UnitPrice"]);
                }*/
            }
            finally
            {
                if (conn != null)
                {
                    conn.Close();
                }
                if (rdr != null)
                {
                    rdr.Close();
                }
            }
        }
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World");
            Program p= new Program();
            p.RunStoredProc();      
            Console.Read();
        }
    }}

这将显示异常。Cannot find the stored procedure dbo.test..我需要提供这条路吗?如果是,应将存储过程存储在哪个位置?


呼啦一阵风
浏览 1061回答 3
3回答

温温酱

using&nbsp;(var&nbsp;conn&nbsp;=&nbsp;new&nbsp;SqlConnection(connectionString))using&nbsp;(var&nbsp;command&nbsp;=&nbsp;new&nbsp;SqlCommand("ProcedureName",&nbsp;conn)&nbsp;{&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;CommandType&nbsp;=&nbsp;CommandType.StoredProcedure&nbsp;})&nbsp;{ &nbsp;&nbsp;&nbsp;conn.Open(); &nbsp;&nbsp;&nbsp;command.ExecuteNonQuery();}

心有法竹

using&nbsp;(SqlConnection&nbsp;sqlConnection1&nbsp;=&nbsp;new&nbsp;SqlConnection("Your&nbsp;Connection&nbsp;String"))&nbsp;{using&nbsp;(SqlCommand&nbsp;cmd&nbsp;=&nbsp;new&nbsp;SqlCommand())&nbsp;{ &nbsp;&nbsp;Int32&nbsp;rowsAffected; &nbsp;&nbsp;cmd.CommandText&nbsp;=&nbsp;"StoredProcedureName"; &nbsp;&nbsp;cmd.CommandType&nbsp;=&nbsp;CommandType.StoredProcedure; &nbsp;&nbsp;cmd.Connection&nbsp;=&nbsp;sqlConnection1; &nbsp;&nbsp;sqlConnection1.Open(); &nbsp;&nbsp;rowsAffected&nbsp;=&nbsp;cmd.ExecuteNonQuery();}}
打开App,查看更多内容
随时随地看视频慕课网APP