/// <summary>
/// 添加一个实体
/// </summary>
/// <typeparam name="T">实体名称</typeparam>
/// <param name="dic">需要添加的字段</param>
/// <returns>返回影响的行数</returns>
public static int AddEntity<T>(Dictionary<string, object> dic) where T : class,new()
{

T t = new T();
var propertys = typeof(T).GetProperties();
string FieldKey = string.Empty;
string FieldValue = string.Empty;
foreach (var p in propertys)
{
foreach (var key in dic.Keys)
{
if (p.Name.ToUpper() == key.ToUpper())
{
FieldKey += p.Name.ToUpper() + ",";
if (p.PropertyType == typeof(int))
{
try
{
if (string.IsNullOrEmpty(dic[key].ToString()))
{
FieldValue += Convert.ToInt32(dic[key]) + ",";
}
else
{
FieldValue += Convert.ToInt32(dic[key]) + ",";
}
}
catch (Exception ex)
{
HttpContext.Current.Response.Write("提示:" + ex.Message);
}
}
else if (p.PropertyType == typeof(DateTime))
{
// 如果时间为空,就将当前时间赋值
if (string.IsNullOrEmpty(dic[key].ToString()))
{
FieldValue += "to_date('" + Convert.ToDateTime(System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")) + "','yyyy-mm-dd HH24:mi:ss'),";
}
else
{
FieldValue += "to_date('" + Convert.ToDateTime(dic[key].ToString()) + "','yyyy-mm-dd HH24:mi:ss'),";
}
}
else
{
FieldValue += "'" + dic[key].ToString() + "',";
}
}
}
}
string tableName = GetTableNameToModel(t);
string sql = "insert into " + tableName + "(" + FieldKey.TrimEnd(',').ToString() + ") values(" + FieldValue.TrimEnd(',').ToString() + ")";
int result = OracleHelper.ExecuteNonQuery(sql);
return result;
}

oracle动态添加一条记录的更多相关文章

  1. 怎么计算Oracle的表一条记录占用空间的大小

    如何计算Oracle的表一条记录占用空间的大小? 如何计算Oracle的表记录占用空间的大小? 是把所有字段的大小都加起来吗?varchar(256),char,number算几个字节? ------ ...

  2. oracle 取前10条记录

    1.oracle 取前10条记录 1) select * from tbname where rownum < 11; 2) select * from (select * from tbnam ...

  3. Oracle 取前几条记录

    今天看了篇文章,对oracle取前几条数据的方式和说明,总结比较全,学习了,做个记录点.oracle 取前10条记录 以下内容是原始文章内容,用于做留存阅读. 1.oracle 取前10条记录 1) ...

  4. Oracle随机选择一条记录SQL

    Oracle随机选择一条记录SQL:

  5. Oracle取TOP N条记录(转载)

    在SQL Server里面有top关键字可以很方便的取出前N条记录,但是Oracle里面却没有top的使用,类似实现取出前N条记录的简单方法如下: 方法1:利用ROW_NUMBER函数 取出前5条记录 ...

  6. oracle中插入一条记录后,重新登录查找不到数据

    你插入了数据,但是没有提交.其他Session也就是你再次登录后自然就看不到了(但是在当前回话可以看到插入的数据),但是你用SQLPLUS EXIT之后再次登录就可以看到插入的数据了,因为ORACLE ...

  7. oracle 字段上下两条记录的相减

    SELECT T.ID  ,BALANCE,nvl(lag (BALANCE,1) over (order by T.ID ) ,0) FROM  AN T ORDER BY T.ID [转]orac ...

  8. oracle取前10条记录

    --oracle取前十条数据 --(1)第一种 ; --(2)第二种 ;

  9. mysql一次添加多条记录

    inisert into tabale (name,pwd) values ("jom","123"),("tom","123&q ...

随机推荐

  1. 关于注解Annotation第二篇

    写一个注解使用类,如下: public class Test { @Code(author = "mazhi",date="20170611") private ...

  2. Ubuntu-16.04 R 安装及Jupyter notebook 配置

    1. R 安装 通常在Terminal下直接apt-get 即可,在16.10下可以get到R-3.3.1,目前最新好像是 R-3.4.2,可以去官方网站下载源码编译 (https://www.r-p ...

  3. logstash-jdbc-input与mysql数据库同步

    大多数情况下我们的数据都存放在了数据库中,但是elasticsearch它有自己的索引库,那么如果我们在做搜索的是时候就需要将数据库中的数据同步到elasticsearch中,在这里我们使用logst ...

  4. Oracle 12c 建表空间语句

    create tablespace TBS_DYS datafile 'D:/Oracle_12c/app/dingyingsi/oradata/dingyingsi/TBS_DYS.ba' size ...

  5. 用java做操作系统内核:软盘读写

    在前两节,我们将一段代码通过软盘加载到了系统内存中,并指示cpu执行加入到内存的代码,事实上,操作系统内核加载也是这么做的.只不过我们加载的代码,最大只能512 byte, 一个操作系统内核,少说也要 ...

  6. 做网站,乱码?应该选用什么编码?GB2312 ? UTF-8 ?

    当然了,最常用的编码也就是GB2312 和 UTF-8 了. ================================================起==================== ...

  7. C++ STL使用说明

    标准模板库(Standard Template Library,STL)是一系列通用化组件的集合,包括容器(container).算法(algorithm)和迭代器(iterator). 迭代器ite ...

  8. Express开发性能优化

    1.使用浏览器缓存 在app.js里添加 var CACHETIME = 60 * 1000 * 60 * 24 * 30; app.use(express.static(path.join(__di ...

  9. [转] Hadoop MapReduce开发最佳实践(上篇)

    前言 本文是Hadoop最佳实践系列第二篇,上一篇为<Hadoop管理员的十个最佳实践>. MapRuduce开发对于大多数程序员都会觉得略显复杂,运行一个WordCount(Hadoop ...

  10. 设计模式学习--面向对象的5条设计原则之Liskov替换原则--LSP

    一.LSP简介(LSP--Liskov Substitution Principle): 定义:如果对于类型S的每一个对象o1,都有一个类型T的对象o2,使对于任意用类型T定义的程序P,将o2替换为o ...