m.bibjan
جمعه 25 فروردین 1391, 00:27 صبح
سلام من برای اینکه اطلاعاتم رو از جدول بریزم توی تکس باکس ها ازین کد استفاده کردم ( همون عملیات سرچ)
private void btnsearch_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection();
conn.ConnectionString = @" server = (local) ; database=tester; integrated security = true";
conn.Open();
SqlDataAdapter db = new SqlDataAdapter("", conn);
db.SelectCommand.CommandText = "Select * From test1 where name = '" + txtname.Text + "' ";
DataSet ds = new DataSet();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = " SELECT name,family,picture from test1 where name=@name";
cmd.Parameters.AddWithValue("@name", txtname.Text.Trim());
SqlDataReader re;
re = cmd.ExecuteReader();
if (re.Read())
{
byte[] Pic;
MemoryStream MS;
Pic = (byte[])re.GetValue(2);
MS = new MemoryStream();
MS.Write(Pic, 0, Pic.Length);
picboxinfo.BackgroundImage = Image.FromStream(MS);
re.Close();
db.Fill(ds, "test1");
DataRow dr = ds.Tables["test1"].Rows[0];
txtname.Text = dr[1].ToString();
txtfamily.Text = dr[2].ToString();
این ارور رو بهم میده.
There is already an open DataReader associated with this Command which must be closed first.
فروم های خارجی هم میگن که DataReader رو Close کن تا درست بشه.اینکار رو هم کردم ولی درست نشد.والبته توی جستجوی توی این سایت هم دوستی گفته بودند Dispose کن . این کار رو هم کردم نشد و همون خطا رو میده دوباره.
ممنون اگه راهنمایی کنید.
private void btnsearch_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection();
conn.ConnectionString = @" server = (local) ; database=tester; integrated security = true";
conn.Open();
SqlDataAdapter db = new SqlDataAdapter("", conn);
db.SelectCommand.CommandText = "Select * From test1 where name = '" + txtname.Text + "' ";
DataSet ds = new DataSet();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = " SELECT name,family,picture from test1 where name=@name";
cmd.Parameters.AddWithValue("@name", txtname.Text.Trim());
SqlDataReader re;
re = cmd.ExecuteReader();
if (re.Read())
{
byte[] Pic;
MemoryStream MS;
Pic = (byte[])re.GetValue(2);
MS = new MemoryStream();
MS.Write(Pic, 0, Pic.Length);
picboxinfo.BackgroundImage = Image.FromStream(MS);
re.Close();
db.Fill(ds, "test1");
DataRow dr = ds.Tables["test1"].Rows[0];
txtname.Text = dr[1].ToString();
txtfamily.Text = dr[2].ToString();
این ارور رو بهم میده.
There is already an open DataReader associated with this Command which must be closed first.
فروم های خارجی هم میگن که DataReader رو Close کن تا درست بشه.اینکار رو هم کردم ولی درست نشد.والبته توی جستجوی توی این سایت هم دوستی گفته بودند Dispose کن . این کار رو هم کردم نشد و همون خطا رو میده دوباره.
ممنون اگه راهنمایی کنید.