ezio potter
جمعه 15 خرداد 1394, 14:52 عصر
درود/
اول از همه عذرخواهی میکنم بابت این که یه تاپیک تکراری زدم.اما خوب هرچی گشتم هیچ کدوم از تاپیک های قبلی نتونست کار منو راه بندازه.
ممنون میشم اگه دوستان کمک کنند.
من یک بانک دارم بنام Automobile-Driver-Test که دارای سه جدولName و Question و Report هستش.
131959
الآن من میخوام که یک برنامه بنویسم که یک تصویر از ورودی بگیره و توی فیلد picture جدول Question قرار بده.
برنامه زیر رو آماده کردم که با کلیک روی دکمه browse یک تصویر از ورودی میگیره و در picturebox1 نمایش میده و بعد از این که کاربر از combobox موجود شماره سوال (که تصویر مربوط به اونه) انتخاب میکنه کلید save in DB فعال میشه.این کلید باید فرایند تبدیل تصویر به آرایه باینری و ذخیره در دیتا بیس رو انجام بده. اما وقتی این کلیدو میزنم با ارور object reference not set to an instance of an object روبرو میشم.
131961
دوستان ممکنه بگید مشکل برنامه از کجاست؟
این هم کد برنامه:
private string strSQL;
private SqlConnection con;
private SqlDataAdapter da;
private SqlCommand com;
private DataSet ds;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
int[] list1 = new int[50];
for (int i = 0; i < 50; i++)
{
list1[i] = i + 1;
}
for (int n = 0; n < 50; n++)
{
comboBox1.Items.Add(list1[n]);
}
try
{
con = new SqlConnection("Data Source=localhost;Initial " + "Catalog=Automobile-Driver-Test;Integrated Security=True");
}
catch (SystemException ex)
{
MessageBox.Show(ex.Message);
}
}
private void button1_Click(object sender, EventArgs e)
{
try
{
OpenFileDialog dlgOpen = new OpenFileDialog();
dlgOpen.Filter = "Image Files(*.BMP;*.JPG;*.GIF,*.png)|*.BMP;*.JPG;*.GIF;* .png" ;
dlgOpen.Title = "select pic";
if (dlgOpen.ShowDialog() == DialogResult.OK)
{
pictureBox1.Image = Image.FromFile(dlgOpen.FileName);
}
}
catch (SystemException ex)
{
MessageBox.Show(ex.Message);
}
}
private void button2_Click(object sender, EventArgs e)
{
try
{
strSQL = "INSERT INTO Question (picture) VALUES (@picture) where Question.q_code =";
strSQL += comboBox1.SelectedValue.ToString();
MemoryStream ms = new MemoryStream();
pictureBox1.Image.Save(ms, pictureBox1.Image.RawFormat);
byte[] arrPic = ms.GetBuffer();
ms.Close();
con.Open();
com = new SqlCommand(strSQL, con);
com.Parameters.Add("@picture", SqlDbType.VarBinary).Value = arrPic;
com.ExecuteNonQuery();
con.Close();
}
catch (SystemException ex)
{
MessageBox.Show(ex.Message);
}
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
button2.Enabled = true;
}
}
اول از همه عذرخواهی میکنم بابت این که یه تاپیک تکراری زدم.اما خوب هرچی گشتم هیچ کدوم از تاپیک های قبلی نتونست کار منو راه بندازه.
ممنون میشم اگه دوستان کمک کنند.
من یک بانک دارم بنام Automobile-Driver-Test که دارای سه جدولName و Question و Report هستش.
131959
الآن من میخوام که یک برنامه بنویسم که یک تصویر از ورودی بگیره و توی فیلد picture جدول Question قرار بده.
برنامه زیر رو آماده کردم که با کلیک روی دکمه browse یک تصویر از ورودی میگیره و در picturebox1 نمایش میده و بعد از این که کاربر از combobox موجود شماره سوال (که تصویر مربوط به اونه) انتخاب میکنه کلید save in DB فعال میشه.این کلید باید فرایند تبدیل تصویر به آرایه باینری و ذخیره در دیتا بیس رو انجام بده. اما وقتی این کلیدو میزنم با ارور object reference not set to an instance of an object روبرو میشم.
131961
دوستان ممکنه بگید مشکل برنامه از کجاست؟
این هم کد برنامه:
private string strSQL;
private SqlConnection con;
private SqlDataAdapter da;
private SqlCommand com;
private DataSet ds;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
int[] list1 = new int[50];
for (int i = 0; i < 50; i++)
{
list1[i] = i + 1;
}
for (int n = 0; n < 50; n++)
{
comboBox1.Items.Add(list1[n]);
}
try
{
con = new SqlConnection("Data Source=localhost;Initial " + "Catalog=Automobile-Driver-Test;Integrated Security=True");
}
catch (SystemException ex)
{
MessageBox.Show(ex.Message);
}
}
private void button1_Click(object sender, EventArgs e)
{
try
{
OpenFileDialog dlgOpen = new OpenFileDialog();
dlgOpen.Filter = "Image Files(*.BMP;*.JPG;*.GIF,*.png)|*.BMP;*.JPG;*.GIF;* .png" ;
dlgOpen.Title = "select pic";
if (dlgOpen.ShowDialog() == DialogResult.OK)
{
pictureBox1.Image = Image.FromFile(dlgOpen.FileName);
}
}
catch (SystemException ex)
{
MessageBox.Show(ex.Message);
}
}
private void button2_Click(object sender, EventArgs e)
{
try
{
strSQL = "INSERT INTO Question (picture) VALUES (@picture) where Question.q_code =";
strSQL += comboBox1.SelectedValue.ToString();
MemoryStream ms = new MemoryStream();
pictureBox1.Image.Save(ms, pictureBox1.Image.RawFormat);
byte[] arrPic = ms.GetBuffer();
ms.Close();
con.Open();
com = new SqlCommand(strSQL, con);
com.Parameters.Add("@picture", SqlDbType.VarBinary).Value = arrPic;
com.ExecuteNonQuery();
con.Close();
}
catch (SystemException ex)
{
MessageBox.Show(ex.Message);
}
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
button2.Enabled = true;
}
}