C# SQL Server和连接到C时出现问题
我是编程新手。我想让我的程序连接到C,但出现以下错误: System.Data.SqlClient.SqlException: '建立与SQL Server的连接时发生与网络相关或特定于实例的错误。找不到服务器或无法访问服务器。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 提供程序:命名管道提供程序,错误:40-无法打开到SQL Server的连接 我的代码:C# SQL Server和连接到C时出现问题,c#,sql-server,C#,Sql Server,我是编程新手。我想让我的程序连接到C,但出现以下错误: System.Data.SqlClient.SqlException: '建立与SQL Server的连接时发生与网络相关或特定于实例的错误。找不到服务器或无法访问服务器。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 提供程序:命名管道提供程序,错误:40-无法打开到SQL Server的连接 我的代码: namespace HesabDarinAnbarDari { public partial class
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)
);
当抛出此异常时,意味着C无法在本地找到数据源
在Sql server Management Studio中将本地名称替换为您的服务器名称。错误表明您没有连接到Sql server,这表明您的连接字符串或服务器存在问题。如果您有一个SQL Server实例在本地运行,请尝试用localhost替换local,但请注意,一旦您尝试在其他计算机上运行代码,此连接字符串就会中断
如果不起作用,请转到服务器资源管理器窗格视图->服务器资源管理器。右键单击“数据连接”,然后选择“添加连接”。使用该向导查找您的服务器,然后单击测试连接以确保您可以正常运行。单击“确定”。现在在服务器资源管理器中,单击新的数据连接以将其选中,然后查看属性窗格。您将在那里看到连接字符串。您可以从那里复制并粘贴到代码中。您可以通过其他方式连接到db吗?Sql server manager或类似工具?对于初学者,将连接字符串放在配置文件中,而不是在应用程序中硬编码。此代码是否与sql server在同一台计算机上运行?此外,您还可以帮自己一个忙,为参数指定有用的名称,而不是a、b、c。最后但并非最不重要的一点是,查看您的数据类型并适当地选择它们。您不需要nvarcharmax作为地址。我不知道地球上有哪个地址需要这么多字符。我的sql server名称是DESKTOP-AEJT71E\SQLEXPRESS。但我无法将其放入代码中。我也尝试过使用SQLEXPRESS,得到了相同的错误。为什么不能将其放入代码中?将DESKTOP-AEJT71E\\SQLEXPRESS“带两个反斜杠”放在您的数据源上我做了,但仍然存在相同的错误:。我使用System.Data.SqlClient。您是否正在尝试连接到另一台计算机上的sql server?您有4个字段和5个值,分别为Froshqah、Tel、Mobile、Address.Tozih Count=4和values@a,@b,@c,@d,@e Count=5感谢您在Tanzimat中插入姓名Froshqah、电话、手机、地址。Tozihvalues@a、@b、@c、@d、@e-您有5个参数,只有4个字段可以将这些值粘贴到其中。Address和Tozih之间的句点应该是逗号吗?换言之,换个地址。托齐换个地址,托齐非常感谢你,我没问题。祝你好运