java的Sql中?号赋值的经典错误

下午,在写sql语句时,我用?号赋值,我用了两个?号,但奇怪的是,就是取不到数据,但又不报异常,我把sql打印出来,粘到sql sever 2008后台去执行又可以,当时很无奈啊:
   
   String Log_Num = “GZ0666”;

   String [] paras = {"'"+Log_Num+"'","'"+Log_Num+"'"}; 

   String Check_Type = " dep.id_sl = ? and wor.id_log = ?";   

   String sql = Log_SQL.getInstancex().All_Date(Database_Table, Check_Type,Database_Table_2);

Log_SQL类:
public String All_Date(String Database_Table_1, String Check_Type,String Database_Table_2){
String sql = Common_All_Sql()+" personnel_mi as dep, log_workers as wor where "+Check_Type;
return sql;

 public String Common_All_Sql(){

 String sql= "select dep.id_sl 用户账号, dep.groups_sl 组别,dep.name_sl 用户姓名,wor.password_sl 用户密码,dep.post_sl 职位,dep.guest 访客权限, "+ " dep.common_purview 普通权限,dep.advanced_purview 高级权限,dep.admin_purview 管理员权限 "+ ",dep.gender 性别,dep.entry_date 入职日期,dep.identityx 身份证号,dep.age 年龄 ,dep.xieli 学历,dep.nation 民族 "+ ",
dep. birth_date 联系电话,dep.addressx 住址,dep.marriage 婚姻状况,dep.remark_sl 备注 from "; 
return sql;


折腾了一下午,其中用了在右连接也不行,后面在Eclipse断点调试 ,也不知道什么原因,在后来,鑫鑫告诉我,这句话有问题,
String [] paras = {"'"+Log_Num+"'","'"+Log_Num+"'"};,参数两边不要加'号,因为在preparestatement设置参数的时候会自动加上,
我修改成String [] paras = {Log_Num,Log_Num};果然可以,在这里万分感谢鑫鑫,当然,还有海峰,牵牛大哥,还有osc-徐航,

  陈鑫,小得意,生活有你们,我的世界很精彩,谢谢你们 。


转载于:https://my.oschina.net/u/815302/blog/265438

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值