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
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)