使用C#将数据插入.NET Core 3.1中的SQL数据库会收到错误

问题描述

我已经在Visual Studio 2019预览版(.NET Core 3.1,Windows Form Application)中创建了一个sql数据库(DatabaseTest.mdf)。 这是我第一次尝试这样做。我在计算机上本地运行数据库

数据库由4列组成:

  • 名字
  • 姓氏
  • 电话号码
  • 工资

现在,我正在尝试使用C#以编程方式将包含信息的行添加到该数据库中。

代码如下:

    using System.Data.sqlClient;

    private void button1_Click(object sender,EventArgs e)
    {
        string connectionString = GetConnectionString();

        sqlConnection con = new sqlConnection(connectionString); 
        sqlCommand cmd = new sqlCommand("sp_insert",con);
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.Parameters.AddWithValue("@First Name","Peter");
        cmd.Parameters.AddWithValue("@Last Name","Smith");
        cmd.Parameters.AddWithValue("@PhoneNumber","5548945667");
        cmd.Parameters.AddWithValue("@Salary",50000);
        con.open();
        int i = cmd.ExecuteNonQuery();

        con.Close();

        if (i != 0)
        {
            MessageBox.Show(i + "Data Saved");
        }
    }
    static private string GetConnectionString()
    {
        return "Data Source=(LocalDB)/MSsqlLocalDB;AttachDbFilename=C:/Users/andre/source/repos/TestDatabaseCreation/DatabaseTest.mdf;Integrated Security=True";
    }

但是,当我现在通过单击按钮运行此代码时。我收到此错误
System.Data.sqlClient.sqlException:'与sql Server建立连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称正确,并且已将sql Server配置为允许远程连接。 (提供者:命名管道提供者,错误:40-无法打开与sql Server的连接)'

Win32Exception:找不到网络路径。

我完全从DatabaseTest.mdf属性复制了此连接字符串。因此,下面的DatabaseTest.mdf的路径是正确的等
“数据源=(LocalDB)/MSsqlLocalDB;AttachDbFilename=C:/Users/andre/source/repos/TestDatabaseCreation/DatabaseTest.mdf;集成安全性= True”

我想知道我收到此错误消息是什么问题吗?

(我也从Visual Studio 2019 Preview .NET Core 3.1中在下面的链接添加了屏幕截图)
Image of the error in C# code behind in Visual Studio 2019 Preview

解决方法

首先,您可以按照以下步骤确保SQL Server Express已安装并正常工作

  1. 打开 Visual Studio安装程序 >> 修改

Modify Visual Studio

展开 .Net桌面开发

.Net desktop development

向下滚动并检查是否已安装SQL Server Express

[SQL Server Express3

如果已安装,请转到步骤2

  1. 打开服务器资源管理器

Server Explorer

连接到数据库

Connect to Database

选择数据源>> Microsoft SQL Server数据库文件

Database File

添加连接>>浏览到数据库文件,并确保测试连接,然后单击确定

Add Connection

然后,在Server Explorer中将显示连接,右键单击>>属性

database's property

然后您可以获得连接字符串

Connection String

第二,连接字符串位于上方,您可以通过以下方式检查其是否工作

SqlConnection cnn = new SqlConnection(**connectionString**);

cnn.Open();

// not do anything yet

cnn.Close();

然后运行以确保您可以打开与数据库的连接

更新:

检查所需的存储过程是否存在?

Stored Procedures

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...