什么是ADO.NET?

我写了一些Access db并使用了一些轻量级VBA,并且有一个OO类。 现在我正在编写一个C#db应用程序。 我已经安装并连接了VS和System.Data.SQLite,并且已经进入了我的表和列,但这就是我被困住的地方。

我正在尝试找到我需要查找的信息和教程,但是有很多我不理解的术语,我不知道它们是否适用于我的项目。

我已经阅读了这些术语的定义(维基百科和其他地方),但这些定义对我来说没有意义,因为我不知道它们是什么或它们如何组合在一起,或者哪些是可选的或不是我的项目的可选项。

System.Data.SQLite网站上的一些术语(我想为我的数据库使用System.Data.SQLite)。

我认为我的项目的第一步是设置和测试数据库和查询。 请告诉我是否还需要了解这部分拼图的其他部分。 如果我能弄明白什么是什么,我可以开始寻找我需要的教程。 (顺便说一句,我知道我不想使用ORM因为我的应用程序非常简单,而且因为我想避免过早地咬掉它。)

非常感谢你。

SQLite.NET

骨架

ADO.NET

ADO.NET提供者

适用于SQLite的ADO.NET 2.0 Provider

更新:删除了“entity framework”术语,因为它们显然是ORM,我将不会使用它。

另外,请跟我说话,好像我什么都不知道,除了我的有限经验(上图)所涵盖的(不幸的是,因为我在尝试研究这些东西时感到困惑,所有条款都让我陷入过度瘫痪之中。 ) 谢谢。

松散,轻松说话

ADO.NET是一个命令和对象库,允许您的应用程序与数据库通信。 如果您在VB6 / C ++中使用过ADODB,那么ADO.NET就是.net(vb.net/C#)等价物。 ADO.NET为您提供连接对象,数据集和datareader对象等对象。

ADO.NET提供程序考虑提供程序,如图形或设备驱动程序。 每次在计算机中放置不同的图形卡时,都需要使用新的图形驱动程序才能使图形卡工作在最佳状态。 对于ADO.NET也是如此,对于您连接的每种不同类型的数据库(例如Microsoft Access,Microsoft SQL Server,MySQL,Sybase,Oracle等),您将需要一个不同的ADODB.Net提供程序。 少数标准(例如,SQL Server的提供程序)

SQLite.NET是一个数据库服务器或RDBMS – 将其视为SQL Server或MySQL的轻量级竞争对手。

适用于SQLite的ADO.NET 2.0提供程序结合最后两个答案!

SQLiteentity framework和SQLiteentity framework提供程序这完全是一个完全不同的主题。 查找对象关系映射

我将entity framework添加到列表中,因为它是您几个问题的基础……

ADO.NET – 从.NET访问数据的框架(VB中ActiveX数据对象的演变)

SQLite.NET – 用于访问SQLite数据库的.NET库

ADO.NET Provider – 适用于符合ADO.NET标准的不同数据源的.NET提供程序。

用于SQLite的ADO.NET 2.0提供程序 – 用于SQLite的 .NET 2.0兼容的ADO.NET提供程序(这是SQLite.NET的用途)

Enitity Framework – Microsoft提供的Object Relational Mapper帮助将ADO.NET中的数据映射回应用程序中的Objects(而不是自己编写所有SQL)。

SQLiteentity framework – 这是SQLite数据库的ADO.NETentity framework。

SQLiteentity framework提供程序SQLite的ADO.NET 2.0提供程序的另一个术语(ADO.NET提供程序提供了Entity Framework构建的基础)。

有大量的书籍来涵盖这个主题……所以这不是一个详尽的答案,但这将为您提供开始所需的必要信息。 它非常简化。

ADO.NET是一个框架,允许您在内存中管理从数据库中检索的数据(永久存储)并将其连接到显示对象(文本框等)。 Access数据库中包含所有“层”(表单,查询,表),您不必过多地使用活动来检索信息并显示它们。 但是,现在您已经gradle到Visual Studio项目,您需要管理每个层。

  1. 创建数据库
  2. 用数据填充它
  3. 创建存储过程(在数据库中),或编写SQL语句(在应用程序中)以使用Command对象检索,插入,删除,更新数据
  4. 安装数据提供程序(适用于SQLite,MSSQL,MySQL,Oracle)
  5. 构建用户界面
  6. 在接口Events中,创建ADO.NET提供程序Connection,Adapter和Command / Table对象的实例。
  7. 使用Command对象(和DataReaders),使用SELECT语句检索数据; 然后使用Update,Insert,Delete语句将数据放回去。
  8. 通过引用Reader字段更新界面文本框。

在3-7部分,你将完成你的大部分工作(你要问的东西); 您将使用ADO.net连接到数据源,使用数据提供程序(SQLite)+连接字符串(具有目录名称,用户名,密码,连接类型)。 然后,使用对象,如Connections(连接),Adapters(用于构建保留区域)和DataTables(内存中的表)来执行数据检索以及从数据库获取和推送数据的操作(静态永久数据) )。

它是.NET中的数据访问框架。

如果你完全失败, DataTables和DataAdapter可能是很好的起点。

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Text; using System.Data; using System.Data.SqlClient; using System.Configuration; namespace DAL { public class DBUtility { public static SqlConnection getconnection() { SqlConnection dbconnection = null; ConnectionStringSettings settings = ConfigurationManager.ConnectionStrings["constr"]; if(settings!=null) { string str = settings.ConnectionString; dbconnection = new SqlConnection(str); } return dbconnection; } } public int createasn(IShipmentBO objBO) { int ret = 0; SqlConnection conn = DBUtility.getconnection(); conn.Open(); SqlCommand cmd = new SqlCommand(); cmd.CommandType = CommandType.StoredProcedure; cmd.CommandText = "sp_CreateASN"; cmd.Connection = conn; cmd.Parameters.AddWithValue("@POnumber", objBO.Ponum); cmd.Parameters.AddWithValue("@Unitsdelivered", objBO.Unitsdel); cmd.Parameters.AddWithValue("@Totalprice", objBO.Totalprice); cmd.Parameters.AddWithValue("@Expdeldate", objBO.Asnstatus); ret = cmd.ExecuteNonQuery(); conn.Close(); return ret; } }