PDA

View Full Version : insert توسط stored procedure از طریق یک مقدار



reza11_2005
دوشنبه 03 خرداد 1395, 22:36 عصر
سلام وقت بخیر من می خواهم یک insert از طریق پاس دادن یک مقدار از طریق stored procedure انجام بدام الان نمی دانم از طریق سی شارپ چطور اینکار انجام بدهم ممنون می شوم راهنمایی بفرماید

csharpcollegian
دوشنبه 03 خرداد 1395, 23:33 عصر
سلام
فرض کن این پروسیجر مورد نظرته :

ALTER PROCEDURE [dbo].[procInsert]
@Name nvarchar(50)
AS
BEGIN
Insert Into Table1 (Name) Values (@Name)
END
GO
حالا فقط کافیه داخل کدهات پارامتر مورد نظر رو به کمک کلاس های SqlParameter و SqlCommand به پروسیجر مورد نظر پاس بدی :

.
.
.
SqlCommand Cmd = new SqlCommand();
Cmd.Connection = ...
Cmd.CommandType = CommandType.StoredProcedure;
Cmd.CommandText = "procInsert";
SqlParameter nameParam = new SqlParameter("@Name", SqlDbType.NVarChar);
nameParam.Value = myName;
Cmd.Parameters.Add(nameParam);
.
.
.
موفق باشید

reza11_2005
سه شنبه 04 خرداد 1395, 16:36 عصر
حالا اگر بخواهیم select کنیم بر اسال یک مقدار خاص چی؟

csharpcollegian
سه شنبه 04 خرداد 1395, 17:51 عصر
هیچ فرقی نداره. اینکه شما میخواید Insert کنید یا Update و یا هر کار دیگه ای، فقط کدهای داخل پروسیجرتون رو تغییر میده و نحوه ی ارسال پارامترها هیچ تغییری نمی کنه :

ALTER PROCEDURE [dbo].[procُSelect]
@Name nvarchar(50)
AS
BEGIN
Select * From Table1 Where Name = @Name
END
GO


.
.
.
SqlCommand Cmd = new SqlCommand();
Cmd.Connection = ...
Cmd.CommandType = CommandType.StoredProcedure;
Cmd.CommandText = "procSelect";
SqlParameter nameParam = new SqlParameter("@Name", SqlDbType.NVarChar);
nameParam.Value = myName;
Cmd.Parameters.Add(nameParam);
.
.
.