我尝试更新表格,但是我收到了这个错误:
超时已过期。操作完成之前经过的超时时间或服务器没有响应。声明已经终止。
这是我的代码的一部分:
Image x = Image.FromFile(o.FileName);
MemoryStream ms = new MemoryStream();
x.Save(ms, x.RawFormat);
byte[] a = ms.GetBuffer();
ms.Close();
SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\conectare.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True");
con.Open();
SqlCommand cmd = new SqlCommand();
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@imagine", a);
cmd.Connection = con;
SqlDataAdapter da = new SqlDataAdapter("SELECT * from login", con);
da.MissingSchemaAction = MissingSchemaAction.AddWithKey;
SqlCommandBuilder obj = new SqlCommandBuilder(da);
DataSet ds = new DataSet();
da.Fill(ds, "login");
DataRow dr= ds.Tables[0].Rows[ind1(username)];
dr.BeginEdit();
dr["imagine"] = a;
dr.EndEdit();
try
{ da.Update(ds, ds.Tables[0].TableName);
pictureBox1.Image = Image.FromFile(o.FileName);
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString() + Environment.NewLine + "Please try again!", "SORRY", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
答案 0 :(得分:0)
通常我在两种情况下收到此错误消息:如果连接到db消失或者我执行了长时间执行sql。在您的情况下,我认为问题可能是由图像文件的大尺寸引起的。首先,我建议你检查一下你是否有与db的连接,然后我建议你使用较小的图像,例如一个字节的图像。