preparedstatement能將?替換表名不??

時間 2025-06-05 03:00:19

1樓:匿名使用者

會被當成字串的,所以是不行的,但sql可以即時拼湊起來的呀。

2樓:網友

testpublic void t() throws exception{

testt("emp");

世逗塵/testt();

string tablename

public void testt(string tablename) throws exception{

string url=":1521:orcl";

string user="scott";

string password="tiger";

string sql="select * from ?"

connection conn=, user, password);

preparedstatement ps=;

tablename);

這樣的效果會提示表指掘明無效搜禪。

用preparedstatement時,sql語句中的表名可以作為引數嗎

3樓:

這個基本上是不可以的。能作為引數的都是變數,而目前的標準sql和各廠商的擴充套件中(不管sql server, oracle, postgresql),都支援變數作為表名。故這是不可以的。

乙個變通的方法是使用動態sql, 但是那已經失去preparestatement的意義了。

preparedstatement insert into表名可以是變數麼

4樓:網友

想法不錯。 但是從preparedstatement的原理來說,是不可能的。 動態繫結不可能變化表名的。

因為資料要插入到同種結構的不同表中。

所以才希望可以這樣用批處理以提高效率。

5樓:馬克

把錯誤截圖附加上, 否則無法分析。

j**a裡能不能將表名作為引數寫到sql語句

6樓:匿名使用者

這樣可行嗎?你查詢後返回個記錄集的吧?

mysql中能用preparedstatement建立表嗎

7樓:網友

建立mysql資料表需要以下資訊:表名 表欄位名 定義每個表欄位 語法:以下為建立mysql資料表的sql

preparedstatement在sql語句中間的?怎麼不能這樣用,

8樓:鬼谷子教主

你是要給pstmt中的引數(uid)賦值,為何用sql啊?

那不是成了:

select *

from tb_location1

where 1

and uid = select * from tb_location1 where 1 and uid = ? order by id desc limit 0,1

order by id desc limit 0,1