oracle动态添加一条记录
/// <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动态添加一条记录的更多相关文章
- 怎么计算Oracle的表一条记录占用空间的大小
如何计算Oracle的表一条记录占用空间的大小? 如何计算Oracle的表记录占用空间的大小? 是把所有字段的大小都加起来吗?varchar(256),char,number算几个字节? ------ ...
- oracle 取前10条记录
1.oracle 取前10条记录 1) select * from tbname where rownum < 11; 2) select * from (select * from tbnam ...
- Oracle 取前几条记录
今天看了篇文章,对oracle取前几条数据的方式和说明,总结比较全,学习了,做个记录点.oracle 取前10条记录 以下内容是原始文章内容,用于做留存阅读. 1.oracle 取前10条记录 1) ...
- Oracle随机选择一条记录SQL
Oracle随机选择一条记录SQL:
- Oracle取TOP N条记录(转载)
在SQL Server里面有top关键字可以很方便的取出前N条记录,但是Oracle里面却没有top的使用,类似实现取出前N条记录的简单方法如下: 方法1:利用ROW_NUMBER函数 取出前5条记录 ...
- oracle中插入一条记录后,重新登录查找不到数据
你插入了数据,但是没有提交.其他Session也就是你再次登录后自然就看不到了(但是在当前回话可以看到插入的数据),但是你用SQLPLUS EXIT之后再次登录就可以看到插入的数据了,因为ORACLE ...
- oracle 字段上下两条记录的相减
SELECT T.ID ,BALANCE,nvl(lag (BALANCE,1) over (order by T.ID ) ,0) FROM AN T ORDER BY T.ID [转]orac ...
- oracle取前10条记录
--oracle取前十条数据 --(1)第一种 ; --(2)第二种 ;
- mysql一次添加多条记录
inisert into tabale (name,pwd) values ("jom","123"),("tom","123&q ...
随机推荐
- 关于注解Annotation第二篇
写一个注解使用类,如下: public class Test { @Code(author = "mazhi",date="20170611") private ...
- JS - 解决鼠标单击、双击事件冲突问题(原生js实现)
由于鼠标双击时每一次触发双击事件都会引起两次单击事件和一次单击事件,原生的js不提供专门的双击事件. 因为业务原因,双击和单机都绑定了不同的业务,在双击的时候又触发了单机,影响了页面的正常显示 出现问 ...
- C/C++练习题(二)
1.下面这些指针分别代表什么? float(**p1)[10]; double*(*p2)[10]; double(*p3[10])(); int*((*p4)[10]); long(**p5)(in ...
- HMM分词实例
class HMM(object): def __init__(self): import os # 主要是用于存取算法中间结果,不用每次都训练模型 self.model_file = 'model/ ...
- Struts动态表单(DynamicForm)
动态表单的含义是不要手动定义,直接在配置文件中进行定义. 1.手动进行定义 <form-beans > <form-bean name="userForm" ty ...
- mysql保留两位小数
--这个是保留整数位 SELECT CONVERT(4545.1366,DECIMAL); --这个是保留两位小数 ,)); --这个是截取两位,并不会四舍五入保留两位小数 );
- java.lang.ArithmeticException: Rounding necessary
这个错误就是精度丢失问题 https://blog.csdn.net/qq496013218/article/details/70792655
- java.io.Serializable的作用
Serializable,之前一直有使用,默认的实体类就会实现Serializable接口,对具体原因一直不是很了解,同时如果没有实现序列化,同样没什么影响,什么时候应该进行序列化操作呢?今天查了下资 ...
- layer相关使用
父子页面传参数 转自:https://blog.csdn.net/babyxue/article/details/76854106 1.父页面打开子页面并向子页面传参数 function setCho ...
- 破解栅栏密码python脚本
今天遇到一个要破解的栅栏密码,写了个通用的脚本 #!/usr/bin/env python # -*- coding: gbk -*- # -*- coding: utf_8 -*- # Author ...