SQL Server和连接到C#的问题

时间:2018-10-15 18:03:24

标签: c# sql-server

我是编程新手。我希望程序连接到C#,但出现此错误:

  

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

我的代码:

namespace HesabDarinAnbarDari
{
   public partial class FrmTanzimat : Form
   {
      public FrmTanzimat()
      {
          InitializeComponent();
      }

      SqlConnection con = new SqlConnection("Data source=(local);initial catalog=HesabDariDB;integrated security=true");
      SqlCommand cmd = new SqlCommand();

      private void FrmTanzimat_Load(object sender, EventArgs e)
      {
      }

      private void btnSave_Click(object sender, EventArgs e)
      {
          cmd.Connection = con;
          cmd.Parameters.Clear();
          cmd.CommandText = "insert into Tanzimat (NameFroshqah, Tel, Mobile, Address. Tozih) values (@a, @b, @c, @d, @e)";

          cmd.Parameters.AddWithValue("@a", txtNameFroshgah.Text);
          cmd.Parameters.AddWithValue("@b", txtTel.Text);
          cmd.Parameters.AddWithValue("@c", txtMobile.Text);
          cmd.Parameters.AddWithValue("@d", txtAddress.Text);
          cmd.Parameters.AddWithValue("@e", txtTozih.Text);

          con.Open();
          cmd.ExecuteNonQuery();
          con.Close();
          MessageBox.Show("done");
      }
   }
}

SQL代码:

CREATE TABLE [dbo].[Tanzimat] 
(
    [idTanzimat]   INT           IDENTITY (1, 1) NOT NULL,
    [NameFroshgah] NVARCHAR(50)  NULL,
    [Tel]          NVARCHAR(50)  NULL,
    [Mobile]       NVARCHAR(50)  NULL,
    [Address]      NVARCHAR(MAX) NULL,
    [Tozih]        NVARCHAR(MAX) NULL,

    CONSTRAINT [PK_Tanzimat] PRIMARY KEY CLUSTERED ([idTanzimat] ASC)
);

2 个答案:

答案 0 :(得分:2)

抛出此异常时,意味着C#找不到您的数据源$outlook = ObjGet("", "Outlook.Application") if @error then $outlook = ObjCreate("Outlook.Application") if @error then ProcessClose("outlook.exe") $outlook = ObjCreate("Outlook.Application") endif endif

在您的Sql Server Management Studio中将(local)替换为您的服务器名称。

答案 1 :(得分:0)

该错误表明您未连接到SQL Server,这表明您的连接字符串或服务器存在问题。如果您有本地运行的SQL Server实例,请尝试将(local)替换为(localhost)(但请注意,当您尝试在另一台计算机上运行代码时,此连接字符串将中断。)

如果这不起作用,请转到“服务器资源管理器”窗格(查看->服务器资源管理器)。右键单击“数据连接”,然后选择“添加连接”。使用该向导查找服务器,然后单击“测试连接”以确保一切顺利。单击确定。现在,在服务器资源管理器中,单击新数据连接以将其选中,然后在属性窗格中查找。您将在此处看到连接字符串。您可以从那里复制并粘贴到代码中。