PDA

View Full Version : حرفه ای: Parameter is invalid



میلاد قاضی پور
پنج شنبه 27 خرداد 1389, 17:37 عصر
سلام . وقتی میخوام فرم ویرایش بالا بیاد تا اطلاعات رو ویرایش کنم . روی کدی که بولد شده این ارور رو میده :





SqlConnection con = new SqlConnection("server=(local)\\sqlexpress;" +
"initial catalog=University;" +
"user id=Administrator;integrated security=SSPI;");
DataSet ds = new DataSet();
SqlDataAdapter adap= new SqlDataAdapter("select * from users where username='"
+ label1.Text + "'", con);
byte[] MyData = new byte[0];
adap.Fill(ds, "users");
DataRow myRow;
myRow = ds.Tables["users"].Rows[0];

MyData = (byte[])myRow["image"];
MemoryStream stream = new MemoryStream(MyData);
f3.pictureBox1.Image = Image.FromStream(stream);

f3.textBox1_name.Text = myRow["name"].ToString();
f3.textBox2_lname.Text = myRow["lname"].ToString();
f3.textBox3_uname.Text = myRow["username"].ToString();
f3.textBox4_pass.Text = myRow["pass"].ToString();
f3.textBox5_job.Text = myRow["semat"].ToString();
f3.ShowDialog();



دقیقا من نمیدونم مشکل از اینجا هست یا موقع ثبت اطلاعات تصویر به درستی ثبت نمیشه . این هم کد ثبت همین اطلاعات .



MemoryStream mStream = new MemoryStream();
pictureBox1.Image.Save(mStream, ImageFormat.Jpeg);
byte[] pic = mStream.ToArray();

//byte[] pic = ReadFile(picPath);

rwd.daInsert("INSERT INTO users ([name] ,lname, semat ,username, pass, sabtkonande,image)"
+ "values('" + textBox1_name.Text + "','"
+ textBox2_lname.Text + "','"
+ textBox5_job.Text + "','"
+ textBox3_uname.Text + "','"
+ textBox4_pass.Text + "','"
+ textBox6_sabtkonande.Text + "','"
+ pic + "')");

میلاد قاضی پور
جمعه 28 خرداد 1389, 00:08 صبح
خب اونطوری که من تو سایتها دیدم این مشکل هیچ وقت به کلی حل نشده . خواهش میکنم بیاید دور هم ببینیم چکار میشه کرد .

من وقتی توی دیتابیس مقدار فیلدهای ایمیج رو نگاه میکنم نوشته باینری ولیو . میدونم این طبیعیه ولی فکر میکنم وقتی می خواهیم مقدار این فیل رو درون آرایه بایت قرار بدیم اشتباها همون عبارت درون آرایه بایت قرار میگیره . نه مقادیر عکسی که تبدیل به آرایه بایت شده .

میلاد قاضی پور
جمعه 28 خرداد 1389, 00:52 صبح
تصویر اول مربوط به کد ثبت و دومی مربوط به بازیابی اطلاعات و نمایش مجدد در فرم مربوطه هست . همونطوری که میبینید در هنگام ثبت طول آرایه با زمانی که آرایه بازیابی میشه فرق داره . و 13 که طول آرایه هنگام بازیابی هست دقیقا به تعداد حروفات عبارت
<binary data>
هست .


http://sites.google.com/site/myuploadedimages/_/rsrc/1276807131545/home/barna-1/parameterisnotvalid/sabt.JPG
***************************************
***************************************

http://sites.google.com/site/myuploadedimages/_/rsrc/1276807121094/home/barna-1/parameterisnotvalid/upd.JPG

میلاد قاضی پور
جمعه 28 خرداد 1389, 14:00 عصر
به نظر میاد اینم یکی از اون کابوسهای برنامه نویسا باشه . کسی سورسی چیزی نداره که با روش دیگه ای عکس رو به دیتابیس فرستاده باشن ؟

حامد مصافی
شنبه 29 خرداد 1389, 17:16 عصر
اطلاعات وارد شده در ديتابيس را بررسي كنيد و ببينيد درج اطلاعات مشكل دارد يا بازيابي آن

mahdi87_gh
شنبه 29 خرداد 1389, 20:51 عصر
برای ذخیره عکس درون بانک، دو روش وجود دارد:
1. ذخیره آدرس فیزیکی عکس روی هارد
2. ذخیره عکس بصورت آرایه ای از بایتها

که درون سایت جستجو کنید، خیلی در این مورد صحبت شده، فایل نمونه هم وجود داره

میلاد قاضی پور
یک شنبه 30 خرداد 1389, 19:13 عصر
من متوجه شدم هنگام بازیابی عکس ، مقدار رشته "System.Byte[]" درون فیلد مربوطه قرار داره نه مقدار رشته "<binary data>" . چون وقتی با اون آرایه یک فایل ساختم و با نوت پد باز کردم محتواش همین بود .


تصویر اول مربوط به کد ثبت و دومی مربوط به بازیابی اطلاعات و نمایش مجدد در فرم مربوطه هست . همونطوری که میبینید در هنگام ثبت طول آرایه با زمانی که آرایه بازیابی میشه فرق داره . و 13 که طول آرایه هنگام بازیابی هست دقیقا به تعداد حروفات عبارت
<binary data>
هست .
اما هنوز راه حلی براش پیدا نکردم . نمیدونم موقع ثبت اطلاعات این مقدار میره تو دیتا بیس یا موقع بازیابی این مقدار به متغیر بایتم نسبت داده میشه .
تو سربازی انقد من مورد آزار و اذیت قرار نگرفته بودم که الان با این ارور . واقعا تو این چند روز یادگرفتم در برابر مشکلات صبور و شکیبا باشم .

حامد مصافی
دوشنبه 31 خرداد 1389, 11:18 صبح
نوع فيلد در ديتابيس چيست؟ خداي نكرده رشته اي كه نيست!!!

میلاد قاضی پور
سه شنبه 01 تیر 1389, 04:37 صبح
نه رشته نیست ایمیج هست . با تشکر از راهنمایی شما متوجه شدم مشکل در ثبت تصویر هست . و این هم تاپیکی در راستای یافتن علت عدم ثبت...
http://barnamenevis.org/forum/showthread.php?p=1020742#post1020742