有了using System.Data 为什么还用mysql using的用法 System.Data.sqlClient

.NET Core中ADO.NET SqlClient的使用与常见问题
时间: 14:09:23
&&&& 阅读:1645
&&&& 评论:
&&&& 收藏:0
标签:一、简介
  在很多要求性能的项目中,我们都要使用传统的ADO.NET的方式来完成我们日常的工作;目前有一些网友问有关于.NET Core操作SQL Server的问题在本文中解答一下。
  本文旨在指出,在.NET Core中使用ADO.NET SqlClient操作SQL SERVER数据库时的一些常见的问题,在本文的第三部分,如果只关心解决问题,请跳过第两部分进行阅读。
二、使用ADO.NET
  首先建立好一个ASP.NET MVC Core&Project&或&.NET Core Class Library Project , 当然也可以是一个控制台程序;
  要使用ADO.NET和SQLCLient就要引用和两个程序集,点这两个名称可以跳到它们的Nuget地址。
  在.NET CORE的ADO.NET中功能被程序集所划分,其实mon封装的就是ADO.NET的抽象部分,它包含如下命名空间和类型:
mon.DbConnection
mon.DbException
mon.DbParameter
System.Data.DbType
mon.DbDataReader
mon.DbCommand
mon.DbTransaction
mon.DbParameterCollection
mon.DbProviderFactory
  可以使用两种方法进行安装:
Install-Package mon
Install-Package System.Data.SqlClient
 2.Project.json
"dependencies": {
"mon": "4.1.0-*",
"System.Data.SqlClient" :
"4.1.0-*",
"System.Runtime": "4.1.0-*"
  3.使用SqlClient
using System.Data.SqlC
namespace DBTest
public class Program
public static void Main(string[] args)
using (SqlConnection con = new SqlConnection(ConnStr)) {
con.Open();
using (SqlCommand command = new SqlCommand("SELECT * FROM SAMPLETABLE", con)) {
command.ExecuteNonQuery();
Console.WriteLine("Something went wrong");
Console.Read();
三、常见问题
 1.SQL Server版本问题
  这个问题,表象上体现的是一个连接超时的错误:
  Unhandled Exception: System.Data.SqlClient.SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: TCP Provider, error: 35 - An internal exception was caught) ---& System.AggregateException: One or more errors occurred. (No such device or address) ---& System.Net.Internals.SocketExceptionFactory+ExtendedSocketException: No such device or address
  但是这个错误却是因为SQL Server的版本问题造成的,.NET Core中的SqlClient能支持的SQL Server最小版本为 SQL Server 2008 R2 SP3,如果你的数据库小于这个版本,就会出现这个异常。
  官方的Issues在此:
  SQL Server 2008 R2 SP3补丁的下载地址如下:
  还有就是将连接字符串中的加入Mul&?tipleActiveResultSet&?s=false
 2.Runtime运行时问题
  在部署到Windows和IIS时,&这个程序集在Windows环境用会依赖于VC++的运行时,目前依赖的为: Microsoft Visual C++ 2012 Runtime标签:
&&国之画&&&& &&&&chrome插件
版权所有 京ICP备号-2
迷上了代码!本帖子已过去太久远了,不再提供回复功能。异常1“System.Data.SqlClient.SqlCommand”不包含“ExecureScalar”的定义,并且找不到可接受类型为“System - C#当前位置:& &&&异常1“System.Data.SqlClient.SqlCommand”不包含异常1“System.Data.SqlClient.SqlCommand”不包含“ExecureScalar”的定义,并且找不到可接受类型为“System&&网友分享于:&&浏览:0次错误1“System.Data.SqlClient.SqlCommand”不包含“ExecureScalar”的定义,并且找不到可接受类型为“System.错误信息为:
错误 1 “System.Data.SqlClient.SqlCommand”不包含“ExecureScalar”的定义,并且找不到可接受类型为“System.Data.SqlClient.SqlCommand”的第一个参数的扩展方法“ExecureScalar”(是否缺少&using&指令或程序集引用?)
部分代码为:
&SqlCommand&cmd&=&new&SqlCommand("select*from&员工&where&name='"&+&textBox1&+&"'and&pwd='"&+&textBox2&+&"'",&con);
&string&sql&=&"select*from&员工&where&name='"&+&textBox1&+&"'and&pwd='"&+&textBox2&+&"'";
&int&i&=&Convert.ToInt32(cmd.ExecureScalar());
命名空间已经引用:using&System.Data.SqlC------解决思路----------------------ExecureScalar&==&&ExecuteScalar------解决思路----------------------using(SqlCommand&command&=&new&SqlCommand(strSql,conn))
&&&&&&&&&&//&&command.ExecuteScalar();
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 1234567891011 Copyright & &&版权所有}

我要回帖

更多关于 oracle using的用法 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信