Oracle+Ado.Net(一)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Oracle+Ado.Net(一),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含10258字,纯文字阅读大概需要15分钟。
内容图文
![Oracle+Ado.Net(一)](/upload/InfoBanner/zyjiaocheng/456/2c214c337e2547899596fe36e213a6ca.jpg)
以前曾经用过Oracle+ExtJS进行项目开发,可能接触的很少,感觉和Sqlserver数据库大同小异,
就我自己而言,很多项目一般基于Ado.Net+Sqlserver2008 R2这一套(用过的Entity FrameWork实体框架(ORM)底层也是基于Ado.Net去访问数据库).
现在我自己写一个用Ado.Net访问Oracle数据库的一点点代码(还不完整,以后会补全基本的常用操作功能),我自己的思路是从简单三层一点点往抽象模式进行编写
首先定义的UserInfo是从oracle数据库映射的一个实体对象,在数据访问层中以UserInfoDal形式继承至BaseDal<T>泛型父类和一个关于对于List操作的泛型接口,
代码如下:
GetListByWhere()和GetListByWhere(string where)实现基本一致,DataReaderToList(OracleDataReader dr)和DataSetToList(DataSet ds)思路一样(ListAction<T>的东西),其中实现代码如下:
public List<UserInfo> GetListByWhere()
{
OracleConnection conn = DbAction.getConn();
string sqlStr = "select * from userinfo t";
OracleCommand com = new OracleCommand(sqlStr, conn);
conn.Open();
OracleDataReader dr = com.ExecuteReader();
List<UserInfo> list = DataReaderToList(dr);
conn.Close();
return list;
}
public List<UserInfo> DataReaderToList(OracleDataReader dr)
{
try
{
List<UserInfo> list = null;
while (dr.Read())
{
list = new List<UserInfo>();
UserInfo t = new UserInfo();
t.Fid = int.Parse(dr.GetOracleNumber(0).ToString());
t.Fname = dr.GetOracleString(1).ToString();
t.Fpassword = dr.GetOracleString(2).ToString();
list.Add(t);
}
return list;
}
catch (Exception)
{
throw;
}
finally
{
dr.Close();
}
}
其中会涉及到一个DbAction类,可以封装一些数据库连接关闭等的对象以及方法:
public static class DbAction
{
private readonly static string connString = System.Configuration.ConfigurationManager.ConnectionStrings["connString"].ToString();
public static OracleConnection getConn()
{
OracleConnection conn = new OracleConnection(connString);
return conn;
}
//.....可以继续补充
}
回归正题,正常的通用逻辑应该归于在BaseDal<T>泛型父类中进行实现
其中TableName,PrimaryKey字段属性和泛型T的实体对象,将在进行通用sql语句编程时起到作用.
BaseDal<T>实现BaseAction<T>接口的方法,并约束T在BaseModel,且允许进行new操作
实现的Delete方法代码如下:
public bool Delete(string id)
{
StringBuilder sb = new StringBuilder();
sb.AppendFormat("delete from {0} where {1}=:id",TableName,PrimaryKey);
OracleConnection conn = DbAction.getConn();
OracleCommand com = new OracleCommand(sb.ToString(), conn);
com.Parameters.Add(DbHelper.CreateParam("id", string.IsNullOrEmpty(id) ? "0" : id));
conn.Open();
int i=com.ExecuteNonQuery();
conn.Close();
if(i>0)
{
return true;
}
return false;
}
需要注意的是,在BaseModel也需要要有TableName,PrimaryKey等(以后会添加其他字段属性),并且在Model中自己定义的映射实体对象必须指定PrimaryKey
<img alt="技术分享" src="http://www.mamicode.com/data:image/png;base64,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 本文系统来源:http://www.cnblogs.com/Francis-YZR/p/4765135.html
内容总结
以上是互联网集市为您收集整理的Oracle+Ado.Net(一)全部内容,希望文章能够帮你解决Oracle+Ado.Net(一)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。