/// <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. hbase copyTable

    参考:https://yq.aliyun.com/articles/176546 执行:hbase org.apache.hadoop.hbase.mapreduce.CopyTable --new. ...

  2. 前端通信:ajax设计方案(一)---集成核心请求

    报告,我要说话!xp被历史淘汰了,IE6 say goodbye了,太TM开心了,从此不要兼容IE6了,哈哈哈哈哈哈 报告,我要说话!IE这sb为啥不早点被杀掉呢,找工作听说要兼容IE,立马软了,唉唉 ...

  3. seq2seq attention

    1.seq2seq:分为encoder和decoder a.在decoder中,第一时刻输入的是上encoder最后一时刻的状态,如果用了双向的rnn,那么一般使用逆序的最后一个时刻的输出(网上说实验 ...

  4. 解决MySQL联表时出现字符集不一样

    mysql 建表时都会设置表的字符集和排序规则,通常是 utf8,不过我这边习惯建表的字符集是 utf8mb4,排序规则是 utf8mb4_unicode_ci.有些 utf8mb4 的表默认排序规则 ...

  5. 深入理解Java虚拟机:第2章 Java内存区域与内存溢出异常

    目录 2.2 运行时数据区域 Java堆 方法区 虚拟机栈 本地方法栈 程序计数器 2.3 HotSpot虚拟机对象探秘 对象的创建 对象的内存布局 对象的访问定位   2.2 运行时数据区域 Jav ...

  6. pthread和semaphore的简单应用以及四个典型的多线程问题

    pthread和semaphore的简单应用以及四个典型的多线程问题 pthread常用函数简单介绍 创建线程 int  pthread_create(pthread_t  *  thread, pt ...

  7. C++中内联函数

    目录 什么是内联函数 如何使函数内联 为什么要使用内联函数 inline函数的优缺点分析 什么时候该使用内联函数 正文 在C语言中,我们使用宏定义函数这种借助编译器的优化技术来减少程序的执行时间,那么 ...

  8. java 集合框架小结

    一:集合框架  集合框架是为表示和操作集合而规定的一种统一的标准的体系结构.  任何集合框架都包含三大块内容:对外的接口.接口的实现和对集合运算的算法.   接口:即表示集合的抽象数据类型.Colle ...

  9. ABP学习入门系列(一)(第一个ABP项目)

    ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称.ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应用程序的新起点,它 ...

  10. Spring学习之路

    (一)搭建Spring.NET环境常见的DLL 1.spring.core --整个框架的基础,实现了依赖注入的功能 2.Spring.AOP--提供面向方面编程(aop)的支持 3.Spring.D ...