Tôi muốn thực hiện quy trình được lưu trữ này từ chương trình C#.Cách thực hiện một thủ tục lưu sẵn trong chương trình C#
Tôi đã viết các thủ tục lưu trữ sau đây trong một cửa sổ truy vấn SQLServer và lưu nó như stored1:
use master
go
create procedure dbo.test as
DECLARE @command as varchar(1000), @i int
SET @i = 0
WHILE @i < 5
BEGIN
Print 'I VALUE ' +CONVERT(varchar(20),@i)
EXEC(@command)
SET @i = @i + 1
END
EDITED:
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();
}
}
}
này hiển thị ngoại lệ Cannot find the stored procedure dbo.test
. Tôi có cần cung cấp đường dẫn không? Nếu có, trong đó vị trí nên lưu trữ các thủ tục được lưu trữ?
Bạn nên sử dụng cơ sở dữ liệu không phải là chính ngay cả khi thử nghiệm. Đây là một cơ sở dữ liệu hệ thống và cuối cùng bạn sẽ gây ra vấn đề.Trong SQL 2012 nó sẽ không cho phép tôi tạo một bảng ở đó. Nó sẽ ngược lại cho phép tôi tạo ra một sproc. :/ –
Câu trả lời bất kể: bạn đã kiểm tra xem sp của bạn có thực sự được tạo với tên bạn đã cung cấp (dbo.test) không? Tôi không biết điều gì sẽ xảy ra nếu một người dùng không dbo cố gắng tạo dbo.test ... nó có được tạo ra như non-dbo.test không? – DigCamara
có thể trùng lặp của [Gọi một thủ tục được lưu trữ với tham số trong C#] (http://stackoverflow.com/questions/7542517/call-a-stored-procedure-with-parameter-in-c-sharp) – obayhan