PDA

View Full Version : راهنمایی درباره کار با store procedure



amir.khanlari
چهارشنبه 05 دی 1386, 19:43 عصر
من یک پروسیجر دارم که می خواهم با استفاده از آن عکسهایی که شماره آلبوم انها با ورودی برابراست را همراه با دیگر فیلد ها مثلا توضیحاتی دربارهآن عکسها وغیره که در بانکم دارم در خروجی داشته باشم و نام عکسها را در listview داشته باشم ودیگر فیلد ها را در یک textbox داشته باشم که بتوان تغیرات را اعمال کرد .البته طریقه اعمال تغیرات را میدانم کدstore procedure مورد اسفاده را در زیر آورده ام . لطفا اگر کسی بلد است کمکم کند.
create proc selectpicture(@alname nvarchar(50),@picfile image output,@pic_name nvarchar(50) output,@pic_type nchar(10) output,@pic_keyword nvarchar(200) output,
@pic_description nvarchar(300) output,@pic_date datetime output)
as
begin
select pic_file,pic_name,pic_typefile,pic_keyword,pic_des cription,pic_date from
picture where pic_alid in(select id from album where al_name=@alname)
end

خانم گل
پنج شنبه 06 دی 1386, 00:30 صبح
اول باید یه کد رابط برای اجرای پروسیجرت بنویسی که فرض میکنیم نوشتی . حالا باید یه کد رابط برای پرشدن listview و textbox بنویسی. وقتی کد رابط اجرای پروسیجر رو فراخوانی میکنی باید نتیجه رو توی یه datatable بریزی، بعد برای نوشتن نتیجه با فیلدهای دلخواه توی هر کنترلی که دوست داری باید کد مربوط به اون رو فراخوانی کنی. واست کد پر کردن listview , رو منویسم . برای textbox هم با کمی تغییرات میتونی از همین کد استفاده کنی. برای فراخوانی اونها باید به جای پارامتر param[] اسم فیلدهای table رو بنویسی.
کد:


public static void FillListView(DataTable table, ListView list, params string[] fieldNames)
{
list.Items.Clear();
for (int i = 0; i < table.Rows.Count; i++)
{
list.Items.Add(table.Rows[i][fieldNames[0]].ToString());
for (int j = 1; j < fieldNames.Length; j++)
list.Items[i].SubItems.Add(table.Rows[i][fieldNames[j]].ToString());

}

}