PDA

View Full Version : سوال: مشکل بروز رسانی procedure در برنامه



fakhravari
چهارشنبه 30 شهریور 1390, 01:06 صبح
با سلام
با این دستور مقادیر پر میشه

News ne = new News();
ne.NewsID = Int32.Parse(TextBox1.Text);
ne.GetOne();

txtTitle.Text = ne.Title;
txtDate.Text = ne.AddDate;
txtAbstract.Text = ne.Abstract;
CKEditor.Text = ne.Contents;

img = ne.photoFilePath;

Image1.ImageUrl = @"../../ImgNews/" + img;


و فیلد img مقدار نام photoFilePathرو میگیره
_________
با این دستور بروز رسانی انجام میشه
News ne = new News();
ne.Title = txtTitle.Text;
ne.AddDate = txtDate.Text;
ne.Abstract = txtAbstract.Text;
ne.Contents = CKEditor.Text.ToString();
ne.NewsID = Int32.Parse(TextBox1.Text);

if (FileUpload1.PostedFile.FileName.ToString() == null)
{
ne.photoFilePath = img;
}
else
{
uploadpic();
ne.photoFilePath = ImageFileName;
}

ne.UpdateRecord();
در این کد FileUpload1.PostedFile.FileName.ToString() خالی بود که
ادرس قبلی را جایگذین میکنه وگر نه ادرس جدید تولید میشه
__________________
اما زمانی که اجرا میگیرم فقط به فیلد img دیتابیس گیر میده مشکل از کجان؟؟؟
زمانی کار میکنه که اپلود فایل یک فایل را انتخاب کنه

dorparasti
چهارشنبه 30 شهریور 1390, 01:10 صبح
خوب اگه همون مقدار اولیه که از بانک میگیری و توی img میزاری null باشه چی ؟ یه راه اینه که به متغیر img مسیر یک تصویر پیش فرض رو بدی . بعد یه شرط هم همون اول بزار که اگر رکورد جستجو شده خودش تصویر داشت توی img قرار بگیره وگرنه که img همون مقدار اولیه خودش رو داشته باشه . و موقع بروزرسانی هم همینطور .

البته پیشنهاد من اینه که موقع ثبت خبرها (insert) در صورتی که کاربر تصویری انتخاب نکرد مقدار خالی برای بانک نفرستیم بلکه یک تصویر پیش فرض داشته باشیم که درگیر این مشکل null نشیم و در زمان نمایش هم ظاهر بهتری داشته باشه .

dorparasti
چهارشنبه 30 شهریور 1390, 01:12 صبح
متن خطا چیه

fakhravari
چهارشنبه 30 شهریور 1390, 01:33 صبح
ولی مقدار img توی بانک null نیست

fakhravari
چهارشنبه 30 شهریور 1390, 01:41 صبح
توی بخش insert
انگار اصلا چک نمیکنه
if (FileUpload1.FileName == null)
چون if (FileUpload1.FileName == null)
{
ne.photoFilePath = "Default.png";
}
else
{
ne.photoFilePath = FileUpload1.FileName;
}

دادم ولی بازم خالی ثبت میکنه تو بانک

dorparasti
چهارشنبه 30 شهریور 1390, 02:11 صبح
خوب پس مشکل بروز رسانی مشخص شد از کجاست دیگه ؟

بجای
if (FileUpload1.FileName == null)
بنویس
if (FileUpload1.HasFile)
ne.photoFilePath = FileUpload1.FileName;
else
ne.photoFilePath = "Default.png";