SQL Insert查询,全天工作但现在每次都失败

时间:2014-04-01 07:39:23

标签: c# sql .net sql-server winforms

当完全相同的代码(产生此错误)一直在完美时,第一次会导致以下错误的原因是什么?

  
     

---------------------------建立与SQL Server的连接时发生与网络相关或特定于实例的错误。该   服务器未找到或无法访问。验证该实例   名称是正确的,并且SQL Server配置为允许远程   连接。 (提供者:命名管道提供者,错误:40 - 不能   打开与SQL Server的连接)

     

---------------------------确定

代码:

this.Cursor = Cursors.WaitCursor;
            try
            {
                // Insert into database
                sqlconnection = new SqlConnection(@"Data Source=" + Properties.Settings.Default.DBHost + ";Initial Catalog=BLAHBLAH;Persist Security Info=True;User ID=" + Properties.Settings.Default.DBUserName + ";Password=" + Properties.Settings.Default.DBPassword + ";");

                sqlconnection.Open();

                SqlCommand cmd = new SqlCommand();
                cmd.Connection = sqlconnection;

                int count = 0;

                foreach (var item in files)
                {
                    cmd.CommandText = @"insert into Images (Name, Games) values ('" + item.Value + "', '" + games + "')";
                    cmd.ExecuteNonQuery();

                    count++;
                }
            }
            catch(Exception exception)
            {
                MessageBox.Show(exception.Message);
            }

            sqlconnection.Close();

            this.Cursor = Cursors.Default;

2 个答案:

答案 0 :(得分:0)

这是Sql server网络连接错误。尝试在sql浏览器中登录也检查你的sql服务是否正在运行,并尝试调试你能够打开连接检查/登录凭据的代码。

答案 1 :(得分:0)

首先,我要感谢大家的帮助和建议。我设法解决了这个问题。

事实证明,此代码失败的原因是从Properties.Settings.Default.SettingName检索设置数据时出现问题。设置已存在并已保存,但由于某种原因,它无法将设置检索到变量中。

我通过将设置存储在除Properties.Settings以外的其他位置来使用此代码。