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-徐航,
  陳鑫,小得意,生活有你們,我的世界很精彩,謝謝你們 。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章