当我尝试在Visual Studio 2010中运行此程序时,显示错误。像这样“在建立与SQL Server的连接时发生与网络有关或特定于实例的错误。找不到服务器或无法访问该服务器。请验证实例名称正确并且SQL Server配置为允许远程连接。( provider:命名管道Provider,错误:40-无法打开与SQL Server的连接)“
public partial class tcregistration : Form
{
SqlConnection conn = new SqlConnection("Data Source=./SQLEXPRESS;AttachDbFilename=C:/Users/dce 3/documents/visual studio 2010/Projects/TC_Maker/TC_Maker/TC_REG.mdf;Integrated Security=True;User Instance=True");
public tcregistration()
{
InitializeComponent();
}
private void insert_Click(object sender, EventArgs e)
{
string gender = string.Empty;
if (rbmale.Checked)
{
gender = "M";
}
else if (rbfemale.Checked)
{
gender = "F";
}
string tcrecieved = string.Empty;
if (rbyes.Checked)
{
tcrecieved = "Y";
}
else if (rbno.Checked)
{
tcrecieved = "N";
}
try
{
if (conn.State == ConnectionState.Closed)
conn.Open();
SqlCommand cmd = new SqlCommand ("TCAddorUpdate",conn);
cmd.CommandType=CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@mode","Add");
cmd.Parameters.AddWithValue("@tcnumber",txttcno.Text.Trim());
cmd.Parameters.AddWithValue("@name",txtname.Text.Trim());
cmd.Parameters.AddWithValue("@dob",dtpdob);
cmd.Parameters.AddWithValue("@religion",txtrelig.Text.Trim());
cmd.Parameters.AddWithValue("@caste",txtcaste.Text.Trim());
cmd.Parameters.AddWithValue("@sex",gender);
cmd.Parameters.AddWithValue("@doa",dtpdoa);
cmd.Parameters.AddWithValue("@regno",txtregno.Text.Trim());
cmd.Parameters.AddWithValue("@dor",dtpdor);
cmd.Parameters.AddWithValue("@dept",txtdept.Text.Trim());
cmd.Parameters.AddWithValue("@sem", combosem);
cmd.Parameters.AddWithValue("@ifqulify",txtqualified.Text.Trim());
cmd.Parameters.AddWithValue("@conduct",txtconduct.Text.Trim());
cmd.Parameters.AddWithValue("@applieddate",dtpdoapp);
cmd.Parameters.AddWithValue("@ifrecieved",tcrecieved);
cmd.Parameters.AddWithValue("@receiveddate",dtpdor);
cmd.ExecuteNonQuery();
MessageBox.Show("Data Inserted Successfully");
}
catch(Exception ex)
{
MessageBox.Show(ex.Message,"Error Message");
}
finally
{
conn.Close();
}
}
}
}
建立与SQL Server的连接时发生与网络相关或特定于实例的错误。找不到或无法访问该服务器。请验证实例名称是否正确以及SQL Server配置为允许远程连接。 provider:命名管道Provider,错误:40-无法打开与SQL Server的连接)
答案 0 :(得分:0)
这不是编程问题,而是一个网络/连接字符串。
连接字符串是它们自己的专业领域,这是普通程序员所无法理解的。幸运的是它有一个页面:https://www.connectionstrings.com/sql-server/
即使在附加时,您也必须提供一个数据库名称:“为什么需要Database参数?如果已经附加了命名数据库,SQL Server不会重新附加它。它将附加的数据库用作默认数据库连接。”
就像其他人提到的那样,您也得到了错误的斜杠。
主题不大,但是异常处理是我的宠儿。而且您有一些严重的错误。就像捕获异常,只暴露消息。那是两个主要的罪过。您是我经常链接的两篇关于主题的文章: