【发布时间】:2020-10-18 17:22:02
【问题描述】:
这是我第一次,我在互联网上检查了它,我遵循了每一步,但我在SqlConnection 遇到了一个问题,我认为它说它找不到 SQL Server 并且不知道为什么。
我正在尝试制作一个简单的员工数据(带有照片和日期),我想将其保存到 SQL Server。起初,我创建了一个新的 SQL Server,并将(localdb)\MSSQLocalDB 作为服务器名称,EmployeeDatabase" 作为新的数据库名称。
我在数据库的属性中得到了连接字符串,这就是我得到的
"Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=USER_TABLE;Integrated Security=True;Pooling=False"
使用此连接字符串时出现此错误:
System.Data.SqlClient.SqlException: '建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供者:命名管道提供者,错误:40 - 无法打开与 SQL Server 的连接)'
代码:
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace EmployeeDataSystem
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Insert_button_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=USER_TABLE;Integrated Security=True;Pooling=False");
con.Open();
SqlCommand cmd = new SqlCommand("INSERT INTO Personnel(Id,EmployeeName,EmployeeBirthdate,EmployeeSalary,EmployeeAddress,EmployeeMobile,EmployeeHiredate,EmployeePhoto) VALUES (@Id,@EmployeeName,@EmployeeBirthdate,@EmployeeSalary,@EmployeeAddress,@EmployeeMobile,@EmployeeHiredate,@EmployeePhoto)", con);
cmd.Parameters.AddWithValue("@Id", int.Parse(Id_number.Text));
cmd.Parameters.AddWithValue("@EmployeeName", int.Parse(Employee_name.Text));
cmd.Parameters.AddWithValue("@EmployeeBirthdate", dateTimePicker1.Value);
cmd.Parameters.AddWithValue("@EmployeeSalary", int.Parse(Salary_textbox.Text));
cmd.Parameters.AddWithValue("@EmployeeAddress", int.Parse(Address_textbox.Text));
cmd.Parameters.AddWithValue("@EmployeeMobile", int.Parse(Mobile_textbox.Text));
cmd.Parameters.AddWithValue("@EmployeeHiredate", dateTimePicker2.Value);
cmd.Parameters.AddWithValue("@EmployeePhoto", pictureBox1.Image);
cmd.ExecuteNonQuery();
con.Close();
Id_number.Text = "";
Employee_name.Text = "";
//dateTimePicker1.Value = "";
Salary_textbox.Text = "";
Address_textbox.Text = "";
Mobile_textbox.Text = "";
//dateTimePicker2.Value = "";
//pictureBox1.Image = "";
MessageBox.Show("Successfullly Inserted!");
}
private void pictureBox1_Click(object sender, EventArgs e)
{
OpenFileDialog open = new OpenFileDialog();
PictureBox p = sender as PictureBox;
if(p != null)
{
open.Filter = "(*.jpg;*.jpeg;*.bmp;)|*.jpg; *.jpeg; *.bmp;";
if(open.ShowDialog() == DialogResult.OK)
{
p.Image = Image.FromFile(open.FileName);
}
}
}
}
}
【问题讨论】:
-
您的照片难以阅读。请将期望消息以文本形式发布。
-
在此感谢您:System.Data.SqlClient.SqlException: '建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供者:命名管道提供者,错误:40 - 无法打开与 SQL Server 的连接)'
-
您应该edit您的问题并将此信息直接放在问题中(而不是照片)。
-
先检查MSSQL服务器实例是否正确,再检查MSSQL设置是否允许远程连接
-
谢谢我已经检查过了,已经允许远程连接
标签: c# sql-server sqlconnection