PDA

View Full Version : سوال: چگونگی رفع خطا



maryam64-69
جمعه 23 فروردین 1392, 23:50 عصر
سلام برنامه من هنگام درج عکس این خطا رو میده . کیس میدونه باید چیکار کنم؟
Path cannot be null.
Parameter name: path

erfan_urchin
شنبه 24 فروردین 1392, 00:03 صبح
احتمالا شما یه آدرس باید میدادین تو کدتون که ندادین
چون اینجا گفته آدرس نمیتونه خالی باشه
شما کدتو بزار تا ببینیم مشکلش کجاس

maryam64-69
شنبه 24 فروردین 1392, 00:18 صبح
if (pictureBox1.Image != null)
{
try
{
string strConnection = @"Data Source=SFIX-PC;Initial Catalog=GiahanDarooei;Integrated Security=True";
SqlConnection con1 = newSqlConnection(strConnection);
SqlCommand com1 = newSqlCommand(" INSERT INTO image (GiahName,ImageFile,ImageSize,ImageType) VALUES (@GiahName,@ImageFile,@ImageSize,@ImageType) ", con1);
MemoryStream ms = newMemoryStream();
pictureBox1.Image.Save(ms, pictureBox1.Image.RawFormat);
byte[] arrPic = ms.GetBuffer();
ms.Close();
com1.Connection = con1;
con1.Open();
com1.Parameters.Add("@GiahName", SqlDbType.NVarChar, 50).Value = txt1.Text;
com1.Parameters.Add("@ImageFile", SqlDbType.NVarChar, 50).Value = txt2.Text;
com1.Parameters.Add("@ImageSize", SqlDbType.NVarChar, 200).Value = txt3.Text;
byte[] photo = GetPhoto(photoFilePath);
com1.Parameters.Add("@ImageType", SqlDbType.Image, photo.Length).Value = pictureBox1.Image;
com1.ExecuteNonQuery();
con1.Close();
MessageBox.Show("Image saved into database", this.Text);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, this.Text);
}
finally
{
}
}
else
{
MessageBox.Show("Please select an image and try again");
}

linux
شنبه 24 فروردین 1392, 10:07 صبح
سلام برنامه من هنگام درج عکس این خطا رو میده . کیس میدونه باید چیکار کنم؟
Path cannot be null.
Parameter name: path

تو جدولتون فیلدی به اسم path ندارید که احیانا باید براش مقداری بدهید؟

maryam64-69
شنبه 24 فروردین 1392, 12:45 عصر
نه همچین فیلدی ندارم

gwbasic
شنبه 24 فروردین 1392, 13:12 عصر
یه جایی از کدتون arrPic را برای ذخیره در دیتابیس ست کردین و دوباره چند خط پایینتر GetPhoto رو به همین منظور صدا کردین. دقیقا مشخص نکردین که این خطا در چه خطی اتفاق می افته احتمال می دم که خطا در GetPhoto اتفاق می افته. این خط رو حذف کنید و از arrPic استفاده کنید


if (pictureBox1.Image != null)
{
try
{
string strConnection = @"Data Source=SFIX-PC;Initial Catalog=GiahanDarooei;Integrated Security=True";
SqlConnection con1 = newSqlConnection(strConnection);
SqlCommand com1 = newSqlCommand(" INSERT INTO image (GiahName,ImageFile,ImageSize,ImageType) VALUES (@GiahName,@ImageFile,@ImageSize,@ImageType) ", con1);
MemoryStream ms = newMemoryStream();
pictureBox1.Image.Save(ms, pictureBox1.Image.RawFormat);
byte[] arrPic = ms.GetBuffer();
ms.Close();
com1.Connection = con1;
con1.Open();
com1.Parameters.Add("@GiahName", SqlDbType.NVarChar, 50).Value = txt1.Text;
com1.Parameters.Add("@ImageFile", SqlDbType.NVarChar, 50).Value = txt2.Text;
com1.Parameters.Add("@ImageSize", SqlDbType.NVarChar, 200).Value = txt3.Text;
//byte[] photo = GetPhoto(photoFilePath);
com1.Parameters.Add("@ImageType", SqlDbType.Image, arrPic.Length).Value = arrPic;
com1.ExecuteNonQuery();
con1.Close();
MessageBox.Show("Image saved into database", this.Text);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message, this.Text);
}
finally
{
}
}
else
{
MessageBox.Show("Please select an image and try again");
}

maryam64-69
شنبه 24 فروردین 1392, 14:37 عصر
ممنون ولی حل نشد اون خطا دوباره تکرارمیشه

gwbasic
شنبه 24 فروردین 1392, 15:28 عصر
لطفا بفرمایی کدوم خط این خطا رو میده و متن خطا رو بطور کامل بگذارید

maryam64-69
شنبه 24 فروردین 1392, 16:05 عصر
لطفا بفرمایی کدوم خط این خطا رو میده و متن خطا رو بطور کامل بگذارید
از این خط ایرلد میگیره
FileStream stream = new FileStream(
filePath, FileMode.Open, FileAccess.Read);

maryam64-69
شنبه 24 فروردین 1392, 16:07 عصر
public string photoFilePath;
public static byte[] GetPhoto(string filePath)
{
FileStream stream = new FileStream(
filePath, FileMode.Open, FileAccess.Read);
BinaryReader reader = new BinaryReader(stream);
byte[] photo = reader.ReadBytes((int)stream.Length);
reader.Close();
stream.Close();
return photo;

gwbasic
شنبه 24 فروردین 1392, 16:08 عصر
دوست عزیز توی کدی که دادین همچین خطی وجود نداره. احتمالا این کد مربوط به متد GetPhoto هست که گفتم کامنت کنید!!!