在录入记录之前怎样处理“判断库中是否已有相同记录”这个过程?急求 在插入之前先用Select查询下,没存在再做插入操作。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我的解决办法:直接插入,然后catch异常,如果数据库有相同主键会返回一个错误号,这个错误号是固定的你只要用个if来判断是否这个错误号,就知道是否存在相同的值了!这样做效率比较高,我一直是这样做的!! 如果要根据返回的异常来判断: 要判断java.sql.SQLException#getErrorCode()的返回值,返回值具体的意思不同的数据库也不相同,比如Oracle如果返回值是1,就表示是主键冲突 不好意思,只有C#的代码,原来是做C#的,只是语法不同,思想是一样的~catch ( SqlException e ){ if (e.Number == 2627) { //有相同的数据 }} 是呀,这个数字不同数据库是不同的,你不用去找具体值是什么,只要插入相同主键的数据,catch异常,然后看这个异常的ErrorCode就知道了~ 使用annotation实现 简易数据验证框架 欢迎大家指点 字符串问题 ImageIcon 可读入的文件类型? 关于instanceof 时间格式的转化遇到的问题,请指点 JAVA关于界面自动关闭 怎么获取类的大小 请问哪里有JAVA文档可以下载? 一个想不通的问题,求助,在线等 为什么不遍历就能够输出char类型的数组? 如何调用别人提供的dll jasperreport的一个小问题,恳请大虾帮忙解决一下
你只要用个if来判断是否这个错误号,就知道是否存在相同的值了!这样做效率比较高,我一直是这样做的!!
要判断java.sql.SQLException#getErrorCode()
的返回值,返回值具体的意思不同的数据库也不相同,
比如Oracle如果返回值是1,就表示是主键冲突
catch ( SqlException e )
{
if (e.Number == 2627)
{
//有相同的数据
}
}