详情见正文

发个招聘帖子被优快云删了。我们不是专门只做招聘的。 允许这一次,多谢啊!

已招收到1名,还缺一个:)若您或您的朋友有兴趣,欢迎加入! 有多个朋友说自己可能无法胜任,或许对职位不太了解,特此重新撰写广告。



无论您的资历和经验如何,如果您热衷新技术,垂涎科技前沿,对编程有狂热的热情,乐于帮助别人打造解决方案,喜爱分享和交流,英文沟通无障碍,来吧,把你的简历丢过来(xaiodong.liang@autodesk.com )!如果您刚毕业不久,那也不要因为工作经历尚浅而怯步,我们也非常欢迎您! 

我们部门是做什么的?

或许您了解AutoCAD,Revit,Inventor,也或许知道科幻大片,特效的3dMax,Maya。这些只是Autodesk的一小部分产品,而可能您还不知道Viewer,Recap,Fusion 360,BIM Glue,BIM Field,Infroworks等云和移动的解决方案。可以说Autodesk是创意,设计,特效,仿真,渲染,工程图,机械加工,绿色分析,项目管理,施工管理等诸多领域的领导者,也是一个非常极具现代与时尚的开放企业,多次成为中国的最佳雇主和全美最佳雇主。Autodesk的开放性也体现在产品上,产品不仅有着强大的功能,也有丰富的API接口让第三方开发者去极大的拓展功能,获取行业很有分量的商机。而我们部门Autodesk ADN(欧特克开发商网络)就是为广大的合作伙伴提供API接口的开发咨询,支持和推广,帮助我们的客户实现激动人心的解决方案,引领他们走在技术的前端。我们团队成员分布在全球各地,包括美国,加拿大,印度,中国,法国。现在,根据业务发展需要,我们在中国将增加一名团队成员来支持云和移动产品。


辞藻或不华丽,但我们部门植根技术,扎实工作,锐意进取,有着丰富而有创意的活动和项目,对个人成长有着多方面的锻炼,您可能会发现自己惊人的潜力,为您更加对广阔的未来做好储备。您可以接触到行业内最前沿的研究和技术,并可以直接接触到行业内最优秀的机构;参加各种高大上的国际行业会议; 您可以自由的展示才华,通过帮助客户来实现沉甸甸的个人成就感;您可以有自由灵活的工作方式,轻松的愉快的工作氛围。作为国际化的企业,您将和各个国家的同仁一道,去一起见证行业的发展,更见证云和移动这个大时代为各行各业带来的巨大而深刻的变化。  


期待您的加入!


下面是简单的职位要求:

>计算机或工程相关专业,本科以上。
>2年以上实际项目的编程经验和编程素养。包括在校期间的经验
>能快速学习新知识,上手能力强。对学习新技术有强烈的热情
>需要与全球同事或客户交流。英语读写能力强。能进行基本的英文听说
>有团队合作精神,执行能力强
>具有热情服务客户的精神
>具备公众场合流畅的表达、演讲、培训能力
>熟悉Autodesk公司产品及其开发接口的优先考虑
>广泛的网络开发经验是加分项
>云技术,移动开发等经验是加分项


若有兴趣,请发送中英文简历到 xiaodong.liang@autodesk.com      


本部门的介绍和概况,请访问此站点:
http://usa.autodesk.com/adsk/servlet/index?siteID=123112&id=19118898  

<think>好的,我现在要帮助用户解决他们遇到的“无效数字”错误问题。首先,我需要仔细分析用户提供的代码片段和问题描述,看看可能的问题出在哪里。 用户提供的代码是一个使用预编译语句插入数据库的Java代码片段。他们提到在执行时遇到了“无效数字”的错误。根据经验,这种错误通常与数据库字段类型和传入的数据类型不匹配有关,尤其是在使用PreparedStatement的set方法时。 首先,我需要检查每个字段的设置是否正确对应数据库表的列类型。例如,用户代码中的第一个参数preparedStatement.setString(1, list.getId()),这里将ID作为字符串传入。如果数据库中的ID字段是数值类型(如NUMBER、INT等),而传入的却是字符串,就会导致类型不匹配,从而引发“无效数字”错误。 接下来,我需要逐一核对每个参数的设置: 1. 参数1(ID):可能对应数据库中的ID字段,是否为数值类型?如果数据库中的ID是NUMBER类型,而用户使用setString,这里就会出错。正确的做法应该是使用setInt或setLong等方法,具体取决于ID的数据类型。 2. 参数6(PAGE_TIME)和参数7(CREATE_TIME):PAGE_TIME被设置为字符串,而CREATE_TIME是时间戳。需要检查数据库表中这两个字段的类型。如果PAGE_TIME是DATE或TIMESTAMP类型,那么使用setString可能导致转换错误。同样,CREATE_TIME使用Timestamp是正确的,但需要确认数据库中的类型是否匹配。 此外,用户提到参数9的值是“zzh”,即创建者名称,这里使用的是setString,对应的数据库字段应该是字符串类型(如VARCHAR),这部分可能没问题。 可能的错误点集中在ID字段和PAGE_TIME字段上。特别是ID字段,如果数据库设计为自增数字,而代码中试图用字符串填充,就会导致无效数字错误。需要用户确认ID字段的类型,以及list.getId()返回的数据类型是否匹配。 另外,还要检查其他字段是否有可能的数值类型字段被错误地设置为字符串。例如,如果有其他字段预期是数字,但代码中使用setString,同样会导致问题。 总结可能的解决步骤: 1. 检查数据库表中各个字段的数据类型,特别是ID、PAGE_TIME等字段。 2. 确保PreparedStatement的set方法使用的类型与数据库字段类型匹配。 3. 对于数值类型的字段,使用对应的setInt、setLong等方法,而不是setString。 4. 验证list对象中各属性返回的数据类型是否正确,尤其是ID是否为数值。 5. 如果ID是字符串类型,但数据库字段是数值型,需要转换或修改数据库设计。 最后,建议用户提供数据库表结构,以便更准确地定位问题所在。同时,检查是否有其他字段可能被错误地设置为字符串,而数据库期望数值类型的情况。</think>这个代码在运行时出现"无效数字"错误,通常是由于数据类型不匹配导致的。以下是问题分析和解决步骤: **根本原因分析:** 1. **字段类型不匹配**:PreparedStatement参数设置的类型与数据库字段类型不一致 2. **常问题字段**: - 第1个参数 `ID` 字段(假设数据库是NUMBER类型) - 第6个参数 `PAGE_TIME` 字段(日期类型处理) - 第7个参数 `CREATE_TIME` 字段(时间戳格式) **逐步解决方案:** 1. **检查数据库字段类型**: 使用以下SQL检查表结构: ```sql DESC XIN_XI_INFO_TEST; ``` 重点关注:ID、PAGE_TIME、CREATE_TIME 字段类型 2. **修正参数设置**: ```java // 假设数据库字段类型如下: // ID NUMBER | PAGE_TIME DATE | CREATE_TIME TIMESTAMP preparedStatement.setInt(1, Integer.parseInt(list.getId())); // 如果ID是数字类型 preparedStatement.setDate(6, Date.valueOf(list.getDate())); // 转换字符串为SQL Date preparedStatement.setTimestamp(7, new Timestamp(System.currentTimeMillis())); ``` 3. **验证数据类型转换**: - 确保 `list.getId()` 返回的是可转换为数字的字符串 - 确保 `list.getDate()` 的格式为 `yyyy-MM-dd` - 使用调试工具检查每个参数的实际值 4. **推荐改进写法**: ```java // 使用try-with-resources自动关闭资源 try (Connection conn = dataSource.getConnection(); PreparedStatement pstmt = conn.prepareStatement( "INSERT INTO XIN_XI_INFO_TEST(ID, SOURCE_NAME, ..., CREATE_BY) " + "VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)")) { // 显式类型转换 pstmt.setInt(1, Integer.parseInt(list.getId())); pstmt.setString(2, list.getWebName()); // ... pstmt.setDate(6, java.sql.Date.valueOf( LocalDate.parse(list.getDate(), DateTimeFormatter.ofPattern("yyyy-MM-dd")))); pstmt.setTimestamp(7, new Timestamp(System.currentTimeMillis())); // ... pstmt.executeUpdate(); } ``` **常陷阱排查:** 1. 隐藏字符:从list对象获取的字符串可能包含不可字符(如空格、换行符) 2. 日期格式:`list.getDate()` 返回的日期格式必须与数据库要求的格式完全一致 3. 空值处理:对可能为null的字段使用`setNull()`方法 **建议补充检查:** 1. 在SQL语句中使用列别名验证字段顺序: ```sql SELECT ID AS "1", SOURCE_NAME AS "2", DETAIL_LINK AS "3", ... FROM XIN_XI_INFO_TEST ``` 2. 启用数据库的详细日志,查看实际执行的SQL语句 如果问题仍未解决,请提供: 1. 完整的表结构描述 2. `list` 对象各字段的示例值 3. 完整的错误堆栈信息
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值