连接到Sql Express时发生超时错误

时间:2015-01-21 19:36:07

标签: c# sql-server

我尝试更新表格,但是我收到了这个错误:

  

超时已过期。操作完成之前经过的超时时间或服务器没有响应。声明已经终止。

这是我的代码的一部分:

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);
}

1 个答案:

答案 0 :(得分:0)

通常我在两种情况下收到此错误消息:如果连接到db消失或者我执行了长时间执行sql。在您的情况下,我认为问题可能是由图像文件的大尺寸引起的。首先,我建议你检查一下你是否有与db的连接,然后我建议你使用较小的图像,例如一个字节的图像。