PDA

View Full Version : اجرای خروجی stored procedure



klinton
جمعه 08 دی 1391, 01:00 صبح
سلام
خروجی stored procedure من یه عبارت sql select هست حالا من میخوام این select رو تو sored procedure اجرا کنم و جواب رو به برنامه ارسال کنم ولی نتونستم ممنون میشم راهنمایی بفرمایید

klinton
جمعه 08 دی 1391, 02:05 صبح
عبارت sql را در متغیر tmp میریزیم و
EXEC @tmp

veniz2008
جمعه 08 دی 1391, 11:13 صبح
سلام. شما وقتی میخوای یه select بگیری که نتیجش یه جدول هست دیگه نباید اونطوری استفاده کنید. نیازی نیست شما اجرا کنید، کافیه داخل برنامه نام sp خودتون رو صدا بزنید خودش اجرا میشه و مقدار برگشت داده میشه، فقط باید مقدار برگشتی رو که یک جدول هست دریافت کنید ( جدول سمت سی شارپ شما دیتاتیبل،دیتاست یا دیتاویو هست). این مثال رو ببین دوست من :
sp زیر شهری رو نشون میده که کاربر نامش رو وارد کرده :

create proc SelectCity
@cityname nvarchar
as
select * from TblCity where CityName = @cityname
go
سمت ویژوال هم میتونی از کدهای زیر استفاده کنی ( اگر دیتاتیبل خالی باشه یعنی اون شهر در دیتابیس وجود نداره، در غیر اینصورت درون دیتاگرید نمایش داده میشه):

SqlConnection con = new SqlConnection("server = .\\md2008;database = university;integrated security = true");
SqlDataAdapter da = new SqlDataAdapter("SelectCity", con);
da.SelectCommand.CommandType = CommandType.StoredProcedure;
da.SelectCommand.Parameters.AddWithValue("@cityname", TxtCityName.Text);
DataTable dt = new DataTable();
da.Fill(dt);
if (dt.Rows.Count == 0)
{
dataGridView1.Visible = false;
}
else
{
dataGridView1.Visible = true;
dataGridView1.DataSource = dt;
}
موفق باشی.