此代码有什么问题。为什么不能使用SqlConnection?

时间:2019-02-01 02:44:41

标签: c# sql sqlclient

我是SQl的100%新手,并且想使用数据库来制作ConsoleApp。我阅读了一些并尝试过。当我需要进行SqlConnection时,我的VS 2019预览版向我展示了

  

严重性代码描述项目文件行抑制状态   错误       CS1069在名称空间“ System.Data.SqlClient”中找不到类型名称“ SqlConnection”。    此类型已转发到程序集'System.Data.SqlClient,版本= 0.0.0.0,区域性=中性,PublicKeyToken = b03f5f7f11d50a3a'考虑添加对该程序集的引用。       ConsoleApp1 C:\ Users \ User \ Desktop \ Bald Code \ ConsoleApp1 \ ConsoleApp1 \ Program.cs 12       有效

我不明白为什么它不起作用

这是我的代码

using System;

using System.Data;

using System.Data.SqlClient;

namespace ConsoleApp1

{

    class Program
    {
        static void Main(string[] args)
        {
            string connectionString;
            SqlConnection cnn;
        }
    }
}

9 个答案:

答案 0 :(得分:2)

如果您刚刚将EntityFrameworkCore从2.x版本更新到了3.x,并且遇到了这种情况,请将您的using语句更改为Microsoft.Data.SqlClient而不是System.Data.SqlClient

如果您使用的是EntityFrameworkCore.SqlServer,则它已经具有该依赖关系,因此您无需显式安装它。

This Microsoft blog解释了这一变化。

答案 1 :(得分:1)

很可能 System.Data.SqlClient.DLL 不在 Bin 文件夹中,并且您没有在项目中设置对 DLL 的引用。您在安装 Visual Studio 时错过了数据库选择。现在您只需手动添加名为“System.Data.SqlClient”的引用。

1.右键单击您的项目名称并选择 nuget 包选项。

2.搜索“System.Data.SqlClient”并安装。

enter image description here

希望这能解决您的错误

答案 2 :(得分:0)

假设您使用的是.NET Core,只需添加NuGet软件包:System.Data.SqlClient

您的.csproj可能类似于:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp2.1</TargetFramework>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="System.Data.SqlClient" Version="4.5.1" />
  </ItemGroup>
</Project>

答案 3 :(得分:0)

看起来您在项目中某处缺少参考。它可以是您调用数据库连接方法的类,例如:您的CRUD方法

using System.Data.SqlClient;

有关更多详细信息,请参见this

答案 4 :(得分:0)

如注释中提到的@Mmm,如果您使用的是.NET Core,并且已经安装了System.Data.SqlClient程序包,则关闭并重新打开该项目也可以为我解决此问题。

答案 5 :(得分:0)

在VS Code中解决此问题的具体方法是

1)转到终端->新终端,打开终端

2)运行dotnet添加包System.Data.SqlClient

3)运行dotnet restore

最后一个命令可能不是必需的,但是这样做使它对我有用。似乎控制台应用程序模板并未准备好引用SqlClient。

答案 6 :(得分:0)

我今天遇到了这个错误,由于VS CODE无法识别System.Data.SqlClient,这是怎么回事;这就是为什么您不能调用变量的原因...

我如何解决它?

我已安装:

  • SQL Server Compact工具箱
  • Nuget软件包版本更新程序

关闭Visual Studio /再次打开它,您的程序应该会弹出并弹出!!

答案 7 :(得分:0)

[![“管理解决方案的Nuget程序包”]

它解决了我的问题。 [1]:https://i.stack.imgur.com/hpk2e.png

我刚刚从“管理解决方案的Nuget软件包”中安装了nuget软件包。以前,我曾使用过through命令,但该命令无法正常工作,因此我使用UI来安装此软件包。

答案 8 :(得分:-1)

很简单

转到解决方案资源管理器 > 右键单击​​并单击管理 NuGet 包 > 并安装 System.data.SqlClient 4.5.1。或以后。

Click here to screenshot