PDA

View Full Version : سوال: مشکل در وارد کردن مسیر فایل در دیتا بیس



mehran6587
شنبه 20 اردیبهشت 1393, 09:59 صبح
سلام دوستان عزیز من یک پروژه دارم که میخوام اطلاعات کتاب رو ثبت کنم
کدی که نوشتم همه چیزش درسته . 2تا فایل آپلود دارم که عکس مربوط به کتاب و فایل پی دی اف رو اپلود میکنه.
ولی وقتی میخوام مسیر این عکس و فیال در دیتابیس ثبت بشه تا بعدا در gridview یا جای دیگه نمایش بدم نمیشه و از مسر فایلهام ایراد میگیره و اکثرا به پسوند فایلها اشکال میگیره و ارور زیر رو میده. به طور مثال فایل اول من که قراره مسیرش در دیتابیس ذخیره بشه اینه.
من از یک دراپ دان لیست هم برای گروه بندی استفاده کردم که با توجه به اندیس اون فایل تو پوشه مختلف ذخیره شه . که به طور مثال در عکس زیر اندیس دراپ دان لیست من 3 بوده که این مسیر بوجود اومده.
118832
این هم کدی که نوشتم


string savepathp = "C:\\Users\\Mehran\\Documents\\Visual Studio 2010\\WebSites\\projectlibrary\\book\\"+DropDownList1.SelectedIndex+"\\";
string picname = FileUpload1.FileName;
savepathp += picname;
FileUpload1.PostedFile.SaveAs(savepathp);
string picpath = "book/" + DropDownList1.SelectedIndex.ToString()+ "/" + FileUpload1.FileName;
string savepathf = "C:\\Users\\Mehran\\Documents\\Visual Studio 2010\\WebSites\\projectlibrary\\book\\"+DropDownList1.SelectedIndex+"\\";
string filename = FileUpload2.FileName;
savepathf += filename;
FileUpload2.PostedFile.SaveAs(savepathf);
string filepath = "book/" + DropDownList1.SelectedIndex.ToString()+ "/" + FileUpload2.FileName;
q2 = "insert into books(name,pname,wname,price,isbn,gr,uname,files,p ic) values('" + TextBox1.Text + "','" + TextBox2.Text + "','" + TextBox3.Text + "','" + TextBox4.Text + "','" + TextBox5.Text + "','" + DropDownList1.SelectedValue + "','" + str + "','"+filepath.ToString()+"','"+picpath.ToString()+"'";
SqlConnection conn2 = new SqlConnection(SqlDataSource1.ConnectionString);
SqlCommand cmd2 = new SqlCommand(q2, conn2);
cmd2.CommandType = CommandType.Text;
using (conn2)
{

conn2.Open();
cmd2.ExecuteNonQuery();
conn2.Close();
}


لطفا راهنماییم کنید . پروژم حاضره و رو این گیر کردم .
savepathp برای آپلود عکس و savepathf برای آپلود فایل
همچنین picpath برای مسیر عکس کتاب و filepath برای مسیر فایل کتاب

Mag-Mag
شنبه 20 اردیبهشت 1393, 13:19 عصر
یببین وقتی می خوای توی دیتا بیس ذخیره کنی مسیر فایل رو مثلا به جای / ها ##@ ذخیره کن و به جای ' یه جیز دیگه و به جای " هم مثلا به چیز دیگه (که با خودت قرارداد میکنی)

حالا وقتی هم می خوای نشون بدی با دستور .Replace باز قرارداد هاتو برگردون


.Replace('##@','/');


به نظر میرسه داری یک ' (تک کوتیشن) توی ادرست اضافه درست میکنی که اون باعث خطا میشه.یا دنبال اون کاراکتر اضافی بگرد یا کلا سعی کن بجاش یه چیز دیگه ذخیره کنی.

mehran6587
شنبه 20 اردیبهشت 1393, 13:30 عصر
راستش متوجه نشدم . میشه کدهامو ویرایش کنی و بگین منظورتون چیه؟

Mag-Mag
شنبه 20 اردیبهشت 1393, 13:41 عصر
زیر خط

string savepathf = "C:\\Users\\Mehran\\Documents\\Visual Studio 2010\\WebSites\\projectlibrary\\book\\"+DropDownLi st1.SelectedIndex+"\\";


بنویس :

savepathf = savepathf.Replace("\\", "mostafa@#").Replace("'", "sdfsdfsdf^&");


حالا موقع نمایش هم دقیقا جایی که میخوای نشون بدی از همین استفاده کن فقط replace ها مقدارش جابه جا میشه
یعنی جای \\ با mostafa@#

mehran6587
شنبه 20 اردیبهشت 1393, 14:23 عصر
دوست عزیز ممنون که راهنمایی کردی . زحمت کشیدی
ولی ارور یک دلیل دیگه داشت که من بعد اینسرت پرانتز رو باز میکردم بعدش نمیبستم . تازه متوجه شدم
ولی بازهم ممنون که ازت یک چیز جدید یاد گرفتم

Mag-Mag
شنبه 20 اردیبهشت 1393, 14:45 عصر
بسیار هم عالی
ممنون از لطفت
کلا هر موقغ synsx error رو دیدی بدون به چیزی یا کمه یا زیاد
که خوب من فکر کردم شاید یه چیزی زیادی گذاشته باشی