db2+.net开发问题

db2+.net开发问题


/// <summary>
/// 增加一条数据
/// </summary>
public void Add(Model.CenterToDeptApplication model)
{
StringBuilder strSql=new StringBuilder();
strSql.Append("insert into ADMINISTRATOR.CENTERTODEPT_APPLICATION(";
strSql.Append("UUID,APP_NO,DEPT_NO,PROJ_NAME,APP_NAME,PROM_TIME,UNIT_CODE,UNIT_NAME,ACC_NAME,ACC_TIME,END_TIME,COMP_TIME,END_STATUS,GET_NAME,GET_TIME,DEPT_APP_NO,COMMENTS,SWAP_TIME,STATUS,INVEST,FEE,SWAP_STATUS)";
strSql.Append(" values (";
strSql.Append(":UUID,:APP_NO,EPT_NO,:PROJ_NAME,:APP_NAME,ATA_XML,@PROM_TIME,:UNIT_CODE,:UNIT_NAME,:ACC_NAME,:ACC_TIME,:END_TIME,:COMP_TIME,:END_STATUS,:GET_NAME,:GET_TIME,EPT_APP_NO,:COMMENTS,:SWAP_TIME,:STATUS,:INVEST,:FEE,:SWAP_STATUS)";
OleDbParameter[] parameters = {
new OleDbParameter(":UUID", OleDbType.VarChar,50),
new OleDbParameter(":APP_NO", OleDbType.VarChar,50),
new OleDbParameter("EPT_NO", OleDbType.VarChar,50),
new OleDbParameter(":PROJ_NAME", OleDbType.VarChar,200),
new OleDbParameter(":APP_NAME", OleDbType.VarChar,100),
new OleDbParameter("ATA_XML", OleDbType.Binary,16),
new OleDbParameter(":PROM_TIME", OleDbType.VarChar,20),
new OleDbParameter(":UNIT_CODE", OleDbType.VarChar,50),
new OleDbParameter(":UNIT_NAME", OleDbType.VarChar,200),
new OleDbParameter(":ACC_NAME", OleDbType.VarChar,50),
new OleDbParameter(":ACC_TIME", OleDbType.VarChar,20),
new OleDbParameter(":END_TIME", OleDbType.VarChar,20),
new OleDbParameter(":COMP_TIME", OleDbType.VarChar,20),
new OleDbParameter(":END_STATUS", OleDbType.VarChar,50),
new OleDbParameter(":GET_NAME", OleDbType.VarChar,50),
new OleDbParameter(":GET_TIME", OleDbType.VarChar,20),
new OleDbParameter("EPT_APP_NO", OleDbType.VarChar,50),
new OleDbParameter(":COMMENTS", OleDbType.VarChar,500),
new OleDbParameter(":SWAP_TIME", OleDbType.VarChar,20),
new OleDbParameter(":STATUS", OleDbType.VarChar,50),
new OleDbParameter(":INVEST", OleDbType.VarChar,50),
new OleDbParameter(":FEE", OleDbType.VarChar,500),
new OleDbParameter(":SWAP_STATUS", OleDbType.VarChar,10)};
parameters[0].Value = model.UUID;
parameters[1].Value = model.AppNo;
parameters[2].Value = model.DeptNo;
parameters[3].Value = model.ProjName;
parameters[4].Value = model.AppName;
parameters[5].Value = model.DataXml;
parameters[6].Value = model.PromTime;
parameters[7].Value = model.UnitCode;
parameters[8].Value = model.UnitName;
parameters[9].Value = model.AccName;
parameters[10].Value = model.AccTime;
parameters[11].Value = model.EndTime;
parameters[12].Value = model.CompTime;
parameters[13].Value = model.EndStatus;
parameters[14].Value = model.GetName;
parameters[15].Value = model.GetTime;
parameters[16].Value = model.DeptAppNo;
parameters[17].Value = model.Comments;
parameters[18].Value = model.SwapTime;
parameters[19].Value = model.Status;
parameters[20].Value = model.Invest;
parameters[21].Value = model.Fee;
parameters[22].Value = model.SwapStatus;

OleDbHelper.ExecuteSql(strSql.ToString(),parameters);
}

提示错误:

[DB2/NT] SQL0312N 在动态 SQL 语句、视图定义或触发器定义中使用主变量 "UUID"。 SQLSTATE=42618
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Exception: [DB2/NT] SQL0312N 在动态 SQL 语句、视图定义或触发器定义中使用主变量 "UUID"。 SQLSTATE=42618

源错误:


行 470: catch(System.Data.OleDb.OleDbException E)
行 471: {
行 472: throw new Exception(E.Message);
行 473: }
行 474: }


如何解决?
...全文
155 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuwen624 2009-02-04
  • 打赏
  • 举报
回复
我觉得可以在传入对象以及给数组赋值的时候设置一下断点,然后查看对象和数组赋值的情况,来确定问题出现的原因
talen_lu 2009-01-31
  • 打赏
  • 举报
回复
不要用oledb
用ibm.data.db2
MyBatis-Plus(简称 MP)是一个 MyBatis 的增强工具,在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生。 愿景我们的愿景是成为 MyBatis 超好的搭档,就像 魂斗罗 中的 1P、2P,基友搭配,效率翻倍。 特性无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作强大的 CRUD 操作:内置通用 Mapper、通用 Service,仅仅通过少量配置即可实现单表大部分 CRUD 操作,更有强大的条件构造器,满足各类使用需求支持 Lambda 形式调用:通过 Lambda 表达式,方便的编写各类查询条件,无需再担心字段写错支持主键自动生成:支持多达 4 种主键策略(内含分布式唯一 ID 生成器 - Sequence),可自由配置,完美解决主键问题支持 ActiveRecord 模式:支持 ActiveRecord 形式调用,实体类只需继承 Model 类即可进行强大的 CRUD 操作支持自定义全局通用操作:支持全局通用方法注入( Write once, use anywhere )内置代码生成器:采用代码或者 Maven 插件可快速生成 Mapper 、 Model 、 Service 、 Controller 层代码,支持模板引擎,更有超多自定义配置等您来使用内置分页插件:基于 MyBatis 物理分页,开发者无需关心具体操作,配置好插件之后,写分页等同于普通 List 查询分页插件支持多种数据库:支持 MySQL、MariaDB、Oracle、DB2、H2、HSQL、SQLite、Postgre、SQLServer 等多种数据库内置性能分析插件:可输出 Sql 语句以及其执行时间,建议开发测试时启用该功能,能快速揪出慢查询内置全局拦截插件:提供全表 delete 、 update 操作智能分析阻断,也可自定义拦截规则,预防误操作 我们将通过理论与实操的方式来阐述 MyBatis-Plus 的强大功能,体验和学习MyBatis-Plus技术。

5,889

社区成员

发帖
与我相关
我的任务
社区描述
IBM DB2 是美国IBM公司开发的一套关系型数据库管理系统,它主要的运行环境为UNIX(包括IBM自家的AIX)、Linux、IBM i(旧称OS/400)、z/OS,以及Windows服务器版本
社区管理员
  • DB2
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧