编码-sql数据库 没有为参数号 1 设置值。(参数都是给过值的 急!!!)

问题描述

sql数据库 没有为参数号 1 设置值。(参数都是给过值的 急!!!)
            String sql1="INSERT INTO [wryk].[dbo].[DMSUPPLIER]" +
                    "(consignor_code,consignor_suppliercode,areaCode,Contact,express_money,fax_code,Mobile," +
                    "opcode,partnerType,postal_code,prefecture,refentseqno,remark,route," +
                    "supplier_address,supplier_code,supplier_name,supplier_short,Telephone)" +
                    "values(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)";
            DBHelper db=new DBHelper();
            Connection conn=db.getConnection();

            PreparedStatement ps=conn.prepareStatement(sql1);

            final int batchSize=1000;
            int count=0;
            for(SupplierVO supps : suppVOs){
                String suppPK=supps.getPk_supplier();
                //货主代码(这里是默认值158 ,不为空
                ps.setString(1,hzdm);
                //货主对应的供应商编码
                ps.setString(2,null);
                //区县代码
                String pk_areacl=supps.getPk_areacl();
                String areacl="100000";
                if(pk_areacl!=null&&pk_areacl.length()>0)
                    areacl=(String) bo.findColValue("bd_areacl", "code", "pk_areacl='"+pk_areacl+"'");
                ps.setString(3,areacl);

                //联系人
                String pk_linkman=(String) bo.findColValue("bd_suplinkman", "pk_linkman", "pk_supplier='"+suppPK+"'");
                String contact=null;
                if(pk_linkman!=null&&!pk_linkman.equals(""))
                    contact=(String) bo.findColValue("bd_linkman", "name", "pk_linkman='"+pk_linkman+"'");

                ps.setString(4,contact);

                //订单加急费用
                ps.setString(5,null);
                //传真
                ps.setString(6,supps.getFax1());
                //移动电话
                ps.setString(7,supps.getTel1());
                //拼音码
                ps.setString(8,supps.getMnecode());
                //往来单位类型
                ps.setString(9,"");
                //邮编
                ps.setString(10,supps.getAttributeValue("vpostcode_148")==null?"100000":String.valueOf(supps.getAttributeValue("vpostcode_148")));
                //所属地
                ps.setString(11,"");
                //供应商对应的电子监管网入网序列号
                ps.setString(12,"");
                //备注
                ps.setString(13,supps.getMemo());
                //s送货线路
                ps.setString(14,"");
                //供应商地址
                ps.setString(15,supps.getCorpaddress());
                //供货方代码
                ps.setString(16,supps.getCode());
                //供货方名称
                ps.setString(17,supps.getName());
                //供货方简称
                ps.setString(18,supps.getShortname());
                //联系电话
                ps.setString(19,supps.getTel1());

// //货主代码
// ps.setString(19,hzdm);

// if(++count % batchSize == 0){
// ps.executeBatch();
// }
int i=db.executeUpdate(sql1);
if(i<=0)
ExceptionUtils.wrappException(new BusinessException("本次数据插入有误,执行回滚"));
}

解决方案

参数1是给了值的 为什么会抛这个错?

解决方案二:

认真核对一下你给参数赋值的代码,是不是有变量名写错了

时间: 2024-08-31 10:29:27

编码-sql数据库 没有为参数号 1 设置值。(参数都是给过值的 急!!!)的相关文章

sqlserverexception-SQLServerException: 没有为参数号 8 设置值

问题描述 SQLServerException: 没有为参数号 8 设置值 public String getAddMessage() { String str=""; Connection con; PreparedStatement sql; try { String uri="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=BookStore"; con=DriverManager.getConnection(uri,

SQLServerException: 没有为参数号 1 设置值。

问题描述 SQLServerException: 没有为参数号 1 设置值. public List getAllNotice(){ Connection con=null; PreparedStatement stm=null; ResultSet rs=null; List list=new ArrayList(); try{ con=ConnectionManager.getConnection(); String sql=""select * from notice where

编码-sql数据库,类型为text 字段,中文存进去显示的是问号,请问如何解决?

问题描述 sql数据库,类型为text 字段,中文存进去显示的是问号,请问如何解决? sql数据库,类型为text 字段,中文存进去显示的是问号,请问如何解决?有人说是提前做好编码工作,但是该怎样编码 解决方案 希望能帮到你,以下是mysql数据库终端下操作的一些命令:查看数据库 'my_db' 的编码格式:show create database my_db; 查看数据表 'my_table' 的编码格式:show create table my_table;推荐使用utf-8编码格式:1:将

SQL数据库优化大总结之百万级数据库优化方案_MsSql

网上关于SQL优化的教程很多,但是比较杂乱.近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充. (1) 选择最有效率的表名顺序(只在基于规则的seo/' target='_blank'>优化器中有效): ORACLE 的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表.如果有3个以上的表连接查询, 那就需要选择交

BETA2中操作SQL数据库

数据|数据库 在前面,我已经说了如何在BETA2的环境下,操作ACCESS数据库,这次我们来看看如何通过ADO.NET来操作SQL SERVER数据库! 首先我们要知道,在ADO.NET环境下,我们是通过System.Data.SqlClient这个名字空间来操作的,另外还有一个System.Data.SqlTypes名字空间描述了SQL SERVER的字段类型,但它并不直接参与数据库的操作,所以我们重点放在System.Data.SqlClient的使用上! 按照惯例,我还是先列出我的例程:这

问题标签用户 .NET 怎么写一个事物使更新集合数据到SQL数据库时有一个报错所有数据都不更新

问题描述 需要.NET写一个事物在更新集合数据(即多条数据)到SQL数据库时其中有一个报错则所有数据都不更新.方法如下,事物代码我应该怎么写publicvoidUpdateCollection(RequirementsPlanningCollectiondatas){foreach(varRequirementsPlanningindatas){Update(RequirementsPlanning);}} 解决方案 解决方案二:Update直接接收datas,在里面处理事务解决方案三:物件更新

SQL数据库优化大总结之百万级数据库优化方案

网上关于SQL优化的教程很多,但是比较杂乱.近日有空整理了一下,写出来跟大家分享一下,其中有错误和不足的地方,还请大家纠正补充. (1) 选择最有效率的表名顺序(只在基于规则的seo/' target='_blank'>优化器中有效): ORACLE 的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表.如果有3个以上的表连接查询, 那就需要选择交

.net-.NET 怎么写一个事物使更新集合数据到SQL数据库时有一个报错所有数据都不更新

问题描述 .NET 怎么写一个事物使更新集合数据到SQL数据库时有一个报错所有数据都不更新 需要.NET 写一个事物在更新集合数据(即多条数据)到SQL数据库时其中有一个报错则所有数据都不更新. 方法如下,事物代码我应该怎么写 public void UpdateCollection(RequirementsPlanningCollection datas) { foreach (var RequirementsPlanning in datas) { Update(RequirementsPl

通过MS SQL 数据库SA帐号增加新用户至administrators组

数据|数据库 <%'----数据库连接Start   '---二级域名名称  Main_Domain="web" '--域名格式为pcc.net  dim conn_Home  dim conn_Homestr  '定义数据库类别,1为SQL数据库,0为Access数据库  const IsSqlDataBase_Homestr = 1  call conn_Home_init()  sub conn_Home_init()     if IsSqlDataBase_Homest