public static void photo(DataTable zh)
{
int count = 0;
string strfields = "";
string strvalues = "";
string filed = "";
string strvalue = ""; for (int i = 0; i < zh.Columns.Count; i++)
{
string strfiled = zh.Columns[i].ColumnName;
strfields += strfiled + ",";
strvalues += "@" + strfiled + ",";
}
if (strfields != "")
{
strfields = strfields.Substring(0, strfields.LastIndexOf(","));
strvalues = strvalues.Substring(0, strvalues.LastIndexOf(","));
}
try
{
OracleConnection sqlconn = new OracleConnection(ConfigurationManager.AppSettings[connectdate.getconnect()]);
sqlconn.Open();
OracleDataAdapter da = new OracleDataAdapter();
OracleCommand cmd = new OracleCommand();
//建立InsertCommand
da.InsertCommand = cmd;
StringBuilder sb = new StringBuilder("");
cmd.CommandText = sb.ToString();
sb.Append("INSERT" + casemessage + ", " + strfields + " VALUES()");
sb.Append(strvalues + ")"); // OracleCommand cmd = new OracleCommand("insert into caseachieve(policycode,casenumber, C52, C225 , C223 , C145 , C176 , C96 , C179 , C178 , C177 , C180 , C181 , C123 , C99 , C248 , C144 , C146 , C211 , C36 , C150 , C148 , C149 , C254 , C251 , C228 , C226 , C232 , C67 , C117 , C113 , C242 , C156 , C244 , C255 , C243 , C218 , C219 , C165 , C162 , C161 , C163 , C160 , C166 , C105 , C95 , C217 , C106 , C246 , C157 , C158 , C159 , C245 , C241 , C240 , C238 , C239 , C94 , C118 ) values(:policycode,:casenumber, :C52, :C225 , :C223 , :C145 , :C176 , :C96 , :C179 , :C178 , :C177 , :C180 , :C181 , :C123 , :C99 , :C248 , :C144 , :C146 , :C211 , :C36 , :C150 , :C148 , :C149 , :C254 , :C251 , :C228 , :C226 , :C232 , :C67 , :C117 , :C113 , :C242 , :C156 , :C244 , :C255 , :C243 , :C218 , :C219 , :C165 , :C162 , :C161 , :C163 , :C160 , :C166 , :C105 , :C95 , :C217 , :C106 , :C246 , :C157 , :C158 , :C159 , :C245 , :C241 , :C240 , :C238 , :C239 , :C94 , :C118)", sqlconn);
// da.InsertCommand = cmd;
for (int i = 0; i < zh.Columns.Count; i++)
{
filed = zh.Columns[i].ColumnName;
strvalue = "@" + filed;
OracleParameter oparam = new OracleParameter();
oparam.ParameterName = strvalue;
oparam.OracleType = DbTypeList[i]; oparam.SourceVersion = DataRowVersion.Current;
oparam.SourceColumn = filed;
da.InsertCommand.Parameters.Add(oparam);
}
count = da.Update(zh);
OracleOperate con = new OracleOperate();
//删除掉重复记录,在casemessage 表中当 casenumber 相同时则认为该数据重复......
string sql = "delete from casemessage where tid not in (select min(tid) from casemessage group by casenumber)";
con.
sqlconn.Close();
} catch (Exception ex)
{
count = 0;
}
return count;
}
解决方案 »
- 有搞过pro c的没?问个问题。
- 如何将一个数据库的表数据导入另一个数据库里同一结构的表中
- 求解 HQL 多个实体类分页查询 order by 结果不一
- 用自定义函数实现行列转换
- oracle 密码可以包含 @ 吗?
- 有这样一个需求,sqlload导入文本时的控制文件不知道怎么写,向大家求助,比较急,谢谢!在线等
- 请问怎样查找一个日期字段中的向反日期(给定一个日期范围),非常感谢
- 我通过ADO方式连接Oracle出错,是什么原因?
- 整个数据库导入,如何写imp语句?
- 在命令行运行svrmgrl时为何总是提示协议适配器错误?
- 向保单信息表policy成批插入数据并删除重复数据 40-100万数据 oracle
- oracle存储过程返回ref cursor 怎么显示呢?
da.InsertCommand = cmd;
StringBuilder sb = new StringBuilder("");
cmd.CommandText = sb.ToString();
sb.Append("INSERT" + casemessage + ", " + strfields + " VALUES()");
sb.Append(strvalues + ")");
sb.Append 报错 求改 错误为运算符“+”无法应用于string和方法组的类型的操作数
求改
string sql = "delete from casemessage where tid not in (select min(tid) from casemessage group by casenumber)";
con.
sqlconn.Close(); 此处 con.DataCom(sql); 补上。
就等你呢
excel表格数据 批量导入oracle数据库,并且删除重复的数据
我写的这个肯定是不对的 只是我的一个构思,根据表里的字段 excel表格有模版不要担心 字段的原因
1. 尽量明确说清楚自己的需求,你只给了一段没调试过代码,然后说想要把EXCEL的数据导入到数据库,想让大家帮你做什么呢?按你的思路把这段代码完成并调试通过吗?说实话,能有时间做你做这么多事情的人不多。把问题集中到关键点才是正确的提问方式,比如说你在完成思路时在哪个技术点上遇到的问题,让大家帮你看一下。2. 你的这段代码与ORACLE关系并不大,中是执行了两条动态拼接的insert与delete语句,将该贴转到.net版块更好一些。
sb.Append(strvalues + ")");
insert 语句错误吧