A. 請問在java中怎麼向sql語句傳參數啊
你連資料庫是通過JDBC連接的嗎,有個參數可以傳遞過去的
PreparedStatement
ps
=null;ResultSet
rs
=null;try{
ps
=
conn.prepareStatement("SELECT
*
FROM
table
WHERE
name
=
?");
ps.setString(1,
"hello");
這個「?」相當於佔位符,setString(1,
"hello");就是要傳遞的參數。
B. JAVA傳遞SQL參數的問題
1 .. 字元串 拼接超過3 個 千萬不要用 + 號 。。 而改用 StringBuffer 這是十大java低級錯誤!!這樣的代碼也很惡心。
2. set SNO = ' 123' <--正確的來說, 資料庫varchar 類型的, 要加單引號
但是你的字元串拼接裡面就沒有,所以應該拼接成 (注意看等號後面)
"set SNo='"+tf[0].getText()+
set SName='"+tf[1].getText()+
C. java讀取sql文件,讀到的文本作為參數傳遞,然後調用executeQuery試行,顯示ORA-00911: 無效字元
拼接一下字元串,把你接收到的sql語句加上雙引號試試。
覺得你應該加斷點調試下呀,看看你作為參數傳遞過去之後接收到的字元串是否正確
D. java語言,jdbcTemplate.queryForMap查詢,如何傳入兩個參數到SQL中
1、使用Map<String,Object> jdbcTemplate.queryForMap查詢,其返回結果必須有且只有1個map值,否則會拋出異常。若拋出異常,則肯定不會得到返回值。
例如「控制台提示錯誤Incorrectresultsize:expected1,actual 0」。
問題原因參考(1)字元串的Jdbctemplate查詢::結果大小不正確:預期1,實際0網頁鏈接
問題原因參考(2)JdbcTemplate queryForObject結果大小不正確:預期為1,實際為0網頁鏈接
2、推薦使用jdbcTemplate.query或List<Map<String,Object>>jdbcTemplate.queryForList查詢。
/**
*
*@Title:querySpxxMap_dbBySsflbm
*@Description:TODO(根據稅收分類編碼、企業id,聯查商品信息表、稅收分類編碼表的,商品id+商品名稱+規格型號+計量單位+稅率+稅收分類編碼)
*@paramssflbm
*@paramqyid
*@return設定文件
*@returnMap<String,Object>返回類型
*@throws
*/
publicList<Map<String,Object>>querySpxxMap_dbBySsflbm(Stringssflbm,Stringqyid){
Stringsql="selectspxx.id,spxx.spmc,spxx.ggxh,spxx.jldw,ss.slv,ss.hbbmssflbm"
+"fromt_jc_ssflbmss"
+"leftjoint_qy_spxxspxxonspxx.ssflbm=ss.hbbm"
+"wheress.hbbm=?andspxx.qyid=?";
//queryForList參數寫法1
List<Object>conditionList=newArrayList<Object>();
conditionList.add(ssflbm);
conditionList.add(qyid);
List<Map<String,Object>>list1=jdbcTemplate.queryForList(sql,conditionList.toArray());
//queryForList參數寫法2
List<Map<String,Object>>list2=jdbcTemplate.queryForList(sql,newObject[]{ssflbm,qyid});
returnlist1;
}
E. 關於Java的sql動態參數
st=conn.PreparedStatement("insert into DailyCoal VALUES(?,?,?)");
st.setString(1,dat);
st.setString(2,name);
st.setString(3,num);
這樣動態傳參
F. java sql能否把表名作為參數傳入
表名沒有這種寫法。
表名可以寫個變數代替啊。
比如select *from "+A+" where.....
然後表名重新加一個參數,不要跟真正的參數放在一起。
public void sql(String sql, String tableName, Map<String,Object> param){
}
G. JAVA SUM SQL語句怎麼拼 帶動態傳參的 一直報錯
select sum(欄位) from biao