PDA

View Full Version : چطور از stored procdeure خروجی بگیرم ؟



mm2100
چهارشنبه 21 دی 1390, 18:52 عصر
با سلام
میخواستم ببینم چطور از یک sp به صورت کد نویسی خروجی بگیرم . اگر ممکن روش آن رو مراحله به مرحله توضیح دهید .همیچنین میخواستم ببینم درون SP رو چطور بنویسم اگر ممکنه یک مثال بزنید.

hamid_shrk
چهارشنبه 21 دی 1390, 19:12 عصر
این تعریف استور پروسیجر هست :

create PROCEDURE [dbo].spTest
@name varchar,
@id int output
as

INSERT INTO Sales (name )
VALUES
(@name )

select @id=SCOPE_IDENTITY()
RETURN @id

اینم واسه کد سی شارپ :

SqlCommand sqlcmd = new SqlCommand(StoredProcedures.sp_Sales_Insert.ToStri ng(), sqlcn);
sqlcmd.CommandType = CommandType.StoredProcedure;
//
sqlcmd.Parameters.Clear();
SqlParameter id = sqlcmd.Parameters.Add("@id", SqlDbType.Int);
id.Direction = ParameterDirection.ReturnValue;

sqlcmd.Parameters.AddWithValue("@name", name);
sqlcmd.Parameters["@id"].Direction = ParameterDirection.Output;
//
sqlcn.Open();
sqlcmd.ExecuteNonQuery();
idSales = (int)sqlcmd.Parameters["@id"].Value;

mahan.2002
چهارشنبه 21 دی 1390, 19:23 عصر
دوست عزیز
من میخواستم چنتا رکورد به عنوان خروجی برگردونم. بعنوان مثال با جستجو روی یک Table بتونم چنتا خروجی روی اپلیکشنم برگردونم.

hamid_shrk
چهارشنبه 21 دی 1390, 19:37 عصر
دقت کنی Id خروجی هست/حالا شما میتوانید هر خروجی که میخواید رو مثل Id تعریف کنید

mahan.2002
چهارشنبه 21 دی 1390, 19:39 عصر
خب منم همین نو میخوام ببینم چطوری میشه رکورد رو جای یک متغییر انتقال بدم.

rana-writes
چهارشنبه 21 دی 1390, 19:41 عصر
سلام
براي نمايش چند تا ركورد، فكر كنم بهتر باشه كه اونا رو توي گريد نشون بدين
يه استور پروسيجر بنويسين و اون رو به گريد ارتباط بدين

http://barnamenevis.org/showthread.php?232641
توي اين پست قبلا يه چيزهايي نوشتم
هم از طريق كدنويسي، هم اتصال مستقيم به گريد

موفق باشين

mahmood_4246
پنج شنبه 22 دی 1390, 00:01 صبح
اگه شما میخوای چند تا رکورد رو برگردونی دیگه پروسیژر بالا جواب گو نیست .. شما در حالتی Select میتونی چنتا رکورد رو برگدونی .. در این صورت مقدار برگشتی رو میتونی تو یه DataTable یا DataSet برگدونی و استفاده کنی

mahan.2002
پنج شنبه 22 دی 1390, 19:48 عصر
چطوری میتونم مقدار برگشتی رو در DataTable یا Dataset برگردونم ....


وفتی که Select l میگیری مقداری که برمیگردونه رو از طریق یه DataAdaptor بریز تو Datatable یا DataSet

محمد جان این روشو میتونی برام توضیح بدی ... یه شبه کد یا مثال ..

در ضمن این کد داخل Sp م رو چی بزنم ..

دوستان منم سوالی مشابه به این دارم، کسی میتونه راهنمایی کنه؟؟؟؟

dorparasti
پنج شنبه 22 دی 1390, 22:03 عصر
همه ی اینها توی این سایت توضیح داده شده . جستجو کن پیدا می کنی . این هم یه منبع دیگه (http://www.how2learnasp.net/)

mahmood_4246
پنج شنبه 22 دی 1390, 23:21 عصر
وفتی که Select l میگیری مقداری که برمیگردونه رو از طریق یه DataAdaptor بریز تو Datatable یا DataSet

mahan.2002
پنج شنبه 22 دی 1390, 23:34 عصر
همه ی اینها توی این سایت توضیح داده شده . جستجو کن پیدا می کنی . این هم یه منبع دیگه (http://www.how2learnasp.net/)

خودم چند بار صفحات همین سایتو بالا پایین کردم... لطفا کنید سوال بنده رو بخونید بعد میگفتید سرچ کنم

تو سوالم گفتم که میخوام توسط کد نویسی این کار و انجام بدم ... اگر اطلاع دارید جواب بدید .. من هم کدی که در SP و هم کدی که با اون بشه رکورد ها داخل data set بریزم رو میخوام و از اون هم داخل دیتا گرید .

یه سوال دیگم دارم که باید از متد ExecuteReader استفاده کنم و به صورت تک تک رکورد ها از Sql server واکشی کنم

لطفا کدی هم که باید در stored procdeur بنویسم، رو بنویسید

mahmood_4246
جمعه 23 دی 1390, 00:04 صبح
این کد SP

create PROCEDURE [dbo].spTest

as

Select * from tblTest

mahmood_4246
جمعه 23 دی 1390, 00:15 صبح
این هم کد دریافت

using (SqlConnection SqlCN = new SqlConnection(@ConfigurationManager.ConnectionStri ngs["ConnectionString"].ToString()))
{
SqlCommand sqlCMD = new SqlCommand ("sp_Newsletter_SelectItem_ById", SqlCN);
sqlCMD.CommandType = CommandType.StoredProcedure;
sqlCMD.Parameters.AddWithValue("@NewsletterId", NewsletterId);
using (SqlDataAdapter da = new SqlDataAdapter())
{
DateTime dtR;
try
{
SqlCN.Open();
DataTable dt = new DataTable();
da.SelectCommand = sqlCMD;
da.Fill(dt);
if (dt.Rows.Count != 0)
{

gvResult.DataSource= dt;
gvResult.DataBinde();

}
}
catch (Exception e)
{
throw new System.Exception("Error Retrieving Newsletter." + e.Message);
}

}
}

dorparasti
جمعه 23 دی 1390, 02:08 صبح
Stored Procedure و نمایش داده ها (http://barnamenevis.org/showthread.php?295227-Stored-Procedure-%D9%88-%D9%86%D9%85%D8%A7%DB%8C%D8%B4-%D8%AF%D8%A7%D8%AF%D9%87-%D9%87%D8%A7&highlight=stored+procedure)

ایجاد یک store procedure و اعمل آن روی asp در برنامه (http://barnamenevis.org/showthread.php?305642-%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF-%DB%8C%DA%A9-store-procedure-%D9%88-%D8%A7%D8%B9%D9%85%D9%84-%D8%A2%D9%86-%D8%B1%D9%88%DB%8C-asp-%D8%AF%D8%B1-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87&highlight=stored+procedure)

ASP.NET و پايگاه داده (http://barnamenevis.org/showthread.php?241871-ASP.NET-%D9%88-%D9%BE%D8%A7%D9%8A%DA%AF%D8%A7%D9%87-%D8%AF%D8%A7%D8%AF%D9%87&highlight=dataset)