本文将带您了解关于java\ADO.NET的新内容,另外,我们还将为您提供关于.NETCore开发日志——ADO.NET与SQLServer、.NETCore、.NETStandard、ASP.NET
本文将带您了解关于java\ADO.NET的新内容,另外,我们还将为您提供关于.NET Core 开发日志 ——ADO.NET 与 SQL Server、.NET Core、.NET Standard 、ASP.NET Core 和 .NET Framework 有什么不同?、.NET EF 链接 mysql MySql.Data.MySqlClient” 的 ADO.NET 提供程序未在计算机或应用程序配置文件中注册或无法加载 解决、.NET MVC5 之 ADO.NET的实用信息。
本文目录一览:- java\ADO.NET
- .NET Core 开发日志 ——ADO.NET 与 SQL Server
- .NET Core、.NET Standard 、ASP.NET Core 和 .NET Framework 有什么不同?
- .NET EF 链接 mysql MySql.Data.MySqlClient” 的 ADO.NET 提供程序未在计算机或应用程序配置文件中注册或无法加载 解决
- .NET MVC5 之 ADO.NET
java\ADO.NET
@梅公子 你好,想跟你请教个问题:
谢谢你的回复,不好意思,我的问题问的不好,请见谅。
以下是在visual C#的工作环境下运用ADO.NET连接OLE DB和OLEDB数据源的方法,我想问的是能不能用java来实现?
4、双击“登录”按钮,进入按钮事件编写界面,在该界面书写如下代码操作:
(1)在窗体顶部导入SqlClient命名空间: using System.Data.SqlClient;(2)在“登录”按钮事件中完成如下代码操作
private void button1_Click(object sender, EventArgs e)
{
try
{
string connectionstring;
if (radioButton1.Checked)
{
connectionstring = "integrated security=true;initial catalog=student;server=WZH";}
else
{
connectionstring = "integrated security=false;initial catalog=student;server=WZH;" + "user id=" + textBox1.Text + ";password=" + textBox2.Text;
}
SqlConnection conn = new SqlConnection(connectionstring);
conn.Open();
if (conn.State == ConnectionState.Open)
{ MessageBox.Show("恭喜您,登录成功!"); }
}
catch(Exception ex)
{MessageBox.Show(ex.Message);}
}
(3)在“取消”按钮事件中完成如下代码操作
private void button2_Click(object sender, EventArgs e)
{ this.Close(); }
5、导入命名空间ODBC和OLEDB命名空间,分别测试ODBC和OLEDB两种连接方式。
(1)导入命名空间
using System.Data.Odbc;
using System.Data.OleDb;
(2)修改连接字符串语句:
connectionstring = "Driver={SQL Server};integrated security=true;” +
“initial catalog=student;server=WZH";
connectionstring = "Provider=SQLOLEDB.1;integrated security=sspi;”+
“initial catalog=student;server=WZH";(3)修改连接对象Connection:
OdbcConnection conn = new OdbcConnection(connectionstring);
OleDbConnection conn = new OleDbConnection(connectionstring);
(4)执行程序,测试连接。
.NET Core 开发日志 ——ADO.NET 与 SQL Server
在.NET 世界,如果想要对数据库进行操作,总少不了 ADO.NET 的身影。在.NET Core 里同样离不开那些熟悉的类库与 API。这里简略地介绍下如何通过 ADO.NET 对 SQL Server 进行不同的处理。
System.Data.SqlClient
第一步先在项目工程中查看有无 System.Data.SqlClient 引用,如果没有的话,可以用以下三种方式安装:
- Visual Studio 上的可视化 Nuget 包管理工具 (Manage NuGet Packages),找到相应类库,点击安装按钮
- 同样是 Visual Studio 上的包管理控制台 (Package Manager Console) 输入命令,
Install-Package System.Data.SqlClient
- 命令行界面 (CLI) 中使用命令,
dotnet add package System.Data.SqlClient
查询
可以使用最基础的 ExecuteReader 方法:
using (var conn = new SqlConnection("Server=.;Integrated Security=true"))
{
conn.Open();
using (var cmd = new SqlCommand("select top 10 * from [AdventureWorks2016CTP3].[Person].[Person]", conn))
{
using (var reader = cmd.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine(reader["FirstName"]);
}
}
}
}
在.NET Core 2.0 以后还可以使用 SqlDataAdapter 与 DataSet,看得出微软在向后兼容方面做了不少工作:
using (var conn = new SqlConnection("Server=.;Integrated Security=true"))
{
var adapter = new SqlDataAdapter("select top 10 * from [AdventureWorks2016CTP3].[Person].[Person]", conn);
var dataset = new DataSet();
adapter.Fill(dataset);
var dt = dataset.Tables[0];
foreach (var item in dt.Rows)
{
var row = item as DataRow;
Console.WriteLine(row["FirstName"]);
}
}
插入
using (var conn = new SqlConnection("Server=.;Integrated Security=true"))
{
conn.Open();
using (var cmd = new SqlCommand("insert into [AdventureWorks2016CTP3].[Person].[AddressType] (Name) values(@Name)", conn))
{
cmd.Parameters.AddWithValue("@Name", "Test");
cmd.ExecuteNonQuery();
}
}
更新
using (var conn = new SqlConnection("Server=.;Integrated Security=true"))
{
conn.Open();
using (var cmd = new SqlCommand("update [AdventureWorks2016CTP3].[Person].[AddressType] set name = @Name where name = @Criterion", conn))
{
cmd.Parameters.AddWithValue("@Name", "Test2");
cmd.Parameters.AddWithValue("@Criterion", "Test");
cmd.ExecuteNonQuery();
}
}
删除
using (var conn = new SqlConnection("Server=.;Integrated Security=true"))
{
conn.Open();
using (var cmd = new SqlCommand("delete [AdventureWorks2016CTP3].[Person].[AddressType] where name = @Name", conn))
{
cmd.Parameters.AddWithValue("@Name", "Test2");
cmd.ExecuteNonQuery();
}
}
存储过程
using (var conn = new SqlConnection("Server=.;Integrated Security=true"))
{
conn.Open();
using (var cmd = new SqlCommand("[AdventureWorks2016CTP3].[dbo].[uspGetEmployeeManagers]", conn))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@BusinessEntityID", 10);
using (var reader = cmd.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine(reader["FirstName"]);
}
}
}
}
视图
使用上与普通的数据表没有差别。
using (var conn = new SqlConnection("Server=.;Integrated Security=true"))
{
conn.Open();
using (var cmd = new SqlCommand("select top 10 * from [AdventureWorks2016CTP3].[HumanResources].[vEmployee]", conn))
{
using (var reader = cmd.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine(reader["FirstName"]);
}
}
}
}
以上代码例子里的数据库使用的是 AdventureWorks Databases and Scripts for SQL Server 2016 CTP3
.NET Core、.NET Standard 、ASP.NET Core 和 .NET Framework 有什么不同?
经查阅.Net Core相关资料:
- https://www.infoq.cn/article/2017%2F10%2Fdotnet-core-standard-difference
- https://blog.csdn.net/yiyelanxin/article/details/84439216
对.NET Core、.NET Standard 、ASP.NET Core 和 .NET Framework有了初步的了解:
.NET Core
.NET Core是免费、跨平台的,是托管框架的开源实现。它支持 4 种类型的应用程序:控制台、ASP.NET Core、云和通用 Windows 平台(UWP)。Windows Forms和Windows Presentation Foundation(WPF)并不包含在.NET Core 中。
ASP.NET Core
Asp.net core其实就是仍然基于.net Full Framework(最低要求Framework 4.6.2)的项目, 但同时保留了.net core一些新的设置理念,比如Asp.net core默认使用Kestrel作为Http请求的监听器,而不是使用原来庞大的Https.sys。是以.NET Core 为基础构建的应用程序模型。
.NET Standard
.NET Standard是一项实现 BCL 的规范。由于.NET 实现需要遵循这项规范,所以应用程序开发人员就不用担心每一种托管框架实现的 BCL 不同。托管框架的每一种实现都有一套自己的基类库。基类库(BCL)包含诸如异常处理、字符串、XML、I/O、网络和集合这样的类。
.NET Framework
.NET Framework 用于构建桌面应用程序和运行在互联网信息服务器(IIS)上的 ASP.NET 应用程序。它是第一个托管框架。
Xamarin
Xamarin 是一个用于构建 iOS、Android、macOS 和桌面应用程序的框架。
.NET EF 链接 mysql MySql.Data.MySqlClient” 的 ADO.NET 提供程序未在计算机或应用程序配置文件中注册或无法加载 解决
网上说 mysql-connector-net-8.0.11.msi 安装 那是正对于开发环境,服务端我往往没有操作环境的权限.
在 EF6 中
首先确认项目是否添加
MySql.Data
System.Data.Entity
使用 NuGet 卸载重装.
如果还不能解决
检查 web.config
<entityFramework>
<providers> <provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6, Version=6.10.8.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d">
</provider>
</providers>
</entityFramework>
在确认如下节点
<system.data>
<DbProviderFactories>
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.10.8.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>
</DbProviderFactories>
</system.data>
此致基本解决
.NET MVC5 之 ADO.NET

ADO.NET 提供堆数据库或外部数据源的数据访问接口。
数据访问方式:面向链接和面向无连接
面向链接:以 IDBConnection 接口为起点,Open () 打开,Close () 关闭。
数据库事务处理:BeginTransaction () 启动事务,得到 IDbTransaction 接口的对象。Rollback () 撤销,Commit () 完成,
SQL 指令:封装 IDbCommand 接口对象。ExecuteReader (),ExecuteNonQuery (),ExecuteSaclar ().
ExecuteReader () 会传回 IDataReader 接口对象,而且是获取 IDataReader 接口对象的唯一方法。
ExecuteNonQuery (),ExecuteSaclar () 里面都调用了 ExecuteReader () 方法。
IDataReader 接口对象使用:Read () 调用一次,游标往前移动一行,传回一个 IDataRecord 接口对象。
IDataRecord:GetValue () 获取字段值,GetOrdinal () 获取字段的索引编号,IsDBNull () 判断字段是否为 NULL
IDataAdapter:面向无链接的对象,包含了 Fill () 以及 Update (). 包含了对数据的添加与更新。包含了: SelectComman,InsertCommand,UpdateCommand 与 DeleteCommand 指令。
面向无连接的操作:DataSet 和 DataTable
DataSet:内存里的数据库,DataTable:内存里的数据表。一个 DataSet 可容纳多个 DataTable
DataSet:IDbDataAdapter 接口对象的 Fill () 获得。Merge (): 合并两个数据集或数据行。
泛型:一个类可以兼容不同的数据类型(值类型和引用类型)
今天关于java\ADO.NET的介绍到此结束,谢谢您的阅读,有关.NET Core 开发日志 ——ADO.NET 与 SQL Server、.NET Core、.NET Standard 、ASP.NET Core 和 .NET Framework 有什么不同?、.NET EF 链接 mysql MySql.Data.MySqlClient” 的 ADO.NET 提供程序未在计算机或应用程序配置文件中注册或无法加载 解决、.NET MVC5 之 ADO.NET等更多相关知识的信息可以在本站进行查询。
本文标签: