asp.net和ado.net有什么区别?

asp.net和ado.net有什么区别?,第1张

asp.net和ado.net的区别列举如下:

1.ADO.net它提供了平台互用性和可伸缩的数据访问。ADO.NET增强了对非连接编程模式的支持。Asp.net是动态服务器页面,用户可以和他进行交互,经常通过ADO.net读取和更新数据。

2.ASP.NET是建立在公共语言运行库上的编程框架,可用于在服务器上生成 Web 应用程序。ADO.NET是一种基于标准的程序设计模型,可以用来创建分布式应用以实现数据共享。

3.ASP.NET可以看成是.NET的一部分,可以用于动态网站制作的一项技术,当然也可以作项目。ADO.NET是.NET Framework中的一套类库,看作一个文件夹吧,里面的文件就是那些能够访问数据库的类。

4.ASP.NET是微软在.net Framework提供的,用于开发web应用程序的类库,封装在System.Web.dll中,对应程序中是System.Web这个命名空间。ADO.NET 对 Microsoft SQL Server 和 XML 等数据源以及通过 OLE DB 和 XML 公开的数据源提供一致的访问。

5.ado.net是数据库的一种访问方式,不能与asp.net相提并论,asp.net是基于.NetFramdwork 的网站开发技术。在数据库访问主要使用ADO.NET方式,主要表现对象为:DataSet 内存加载数据方式。

这是数据库引擎。

每种数据库的数据格式,内部实现机制都是不同的,要利用一种开发工具访问一种数据库,就必须通过一种中介程序,这种开发工具与数据库之间的中介程序就叫数据库引擎。

ODBC(Open DataBase Connectivity)开放数据库互联。是由微软主导的数据库链接标准。

MFC(Microsoft Foundation Class)微软基础类。MFC ODBC是对ODBC的封装。

DAO(Data Access Object)数据访问对象。不提供远程访问功能。

RDO(Remote Data Object)远程数据对象。速度快,支持SQL Server存储过程。

OLE-DB(Object Linking and Embedding DataBase)对象链接和嵌入数据库。它依赖于COM和提供OLE DB提供者的厂商而非ODBC使用的SQL。

ADO(ActiveX Data Object)ActiveX数据对象。基于OLE-DB建立连接的局部和远程数据库访问技术。

访问接口 易用性 运行性能 可扩展性 突出特点 能否访问非关系数据源 技术层次

ODBC 差 较高 差 可进行底层控制 否 底层

MFC ODBC 好 较高 一般 通用标准, 应用广泛 否 高层

MFC DAO 好 较高 一般 访问JET性能最好 能 高层

OLE DB 较难 高 好 可访问非关系DB 能 底层

ADO 最好 高 好 可访问非关系,有多种编程接口 能 高层

1)首先需要下载C#访问MySQL数据库的ADO.NET驱动程序

mysql-connector-net-6.3.8.msi

(2)安装mysql-connector-net

然后直接在Windows *** 作系统安装 mysql-connector-net-6.3.8.msi

(3)封装数据库访问组件DbConnectionMySQL

/// <summary>

/// MySQL数据库

/// 版本 mysql-connector-net-6.3.8.msi

/// </summary>

[Serializable]

public class DbConnectionMySQL : DbConnectionWrapper

{

public DbConnectionMySQL(string pConnectionString)

: base(pConnectionString)

{

this.m_dbconn = new MySqlConnection(pConnectionString)

this.m_DbConnState = DbConnState.Free

}

//--

public override DbDataAdapter GetDbDataAdapter()

{

return new MySqlDataAdapter()

}

public override DbDataAdapter GetDbDataAdapter(DbCommand dbCommand)

{

return new MySqlDataAdapter(dbCommand as MySqlCommand)

}

public override DbCommand GetDbCommand()

{

return new MySqlCommand()

}

public override DbConnection GetDbConnection()

{

return new MySqlConnection()

}

public override DbCommandBuilder GetDbCommandBuilder()

{

return new MySqlCommandBuilder()

}

public override DataProviderType GetCurrentDataProviderType()

{

return DataProviderType.Sql

}

public override bool IsExistsTable(string TableName, string UserName)

{

#region information

bool rbc = false //TABLES表中去查询 table_name

string dSql = "select * from TABLES where table_name='" + TableName + "'"

DataSet ds = this.ExecuteDataSet(dSql)

if (ds != null)

{

if (ds.Tables[0].Rows.Count >0)

{

rbc = true

}

else

{

rbc = false

}

}

else

{

rbc = false

}

return rbc

#endregion

}

public override bool IsExistsField(string FieldName, string TableName)

{

#region information

bool rbc = false

string dSql = ""

dSql = "select * from " + TableName + " where 1<>1"

DataSet ds = this.ExecuteDataSet(dSql)

if (ds != null)

{

DataTable dt = ds.Tables[0]

for (int j = 0j <dt.Columns.Countj++)

{

if (dt.Columns[j].ColumnName.ToString().ToUpper() == FieldName.ToString().ToUpper())

{

rbc = true

goto Return_End

}

}

dt.Dispose()

dt = null

}

ds.Dispose()

ds = null

Return_End:

return rbc

#endregion

}

public override char ParameterChar

{

get

{

return ':' //SQLite的参数符号为:

}

}

public override DbParameter CreateParameter(string name, object value)

{

return new MySqlParameter(name, value)

}

public override DbParameter CreateParameter(string name)

{

DbParameter dbp = new MySqlParameter()

dbp.ParameterName = name

return dbp

}

public override DbParameter CreateParameter(string name, DbType dbtype, object value)

{

DbParameter dbp = new MySqlParameter()

dbp.ParameterName = name

dbp.Value = value

dbp.DbType = dbtype

return dbp

}

public override DbParameter CreateParameter(string name, DbType dbtype, int size, object value)

{

DbParameter dbp = new MySqlParameter()

dbp.ParameterName = name

dbp.Value = value

dbp.DbType = dbtype

dbp.Size = size

return dbp

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9568251.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-29
下一篇 2023-04-29

发表评论

登录后才能评论

评论列表(0条)

保存