この公式ドキュメントを読む:
クエリで明示的に名前が付けられていない列については、列番号を使用することをお勧めします。列名を使用する場合、プログラマーはそれらが目的の列を一意に参照することを保証するように注意する必要があります。これは、SQL AS 句で保証できます。
クエリで明示的に名前が付けられていない列は何ですか? 彼らはそれでどういう意味ですか?
ありがとう、
確かにそれは
計算された列/式には任意の名前が付いています。
select max(salary) from employee
JDBC 列名を調べると、通常は式と同じように呼ばれます。つまり、行セットでは、列は文字どおり「max(salary)」と呼ばれる場合がありますが、これはデータベース固有であり、信頼できません。
次の 2 つの選択肢があります。
rowset.get(1)
いえ
select max(salary) as max_salary from employee
私は 2 番目のオプションを好みます。これは、脆弱性がはるかに少なく、理解しやすいためです。
クエリで明示的に名前が付けられていない のは、列のような列count(*)
または関数の結果のようなものです。lower()
あなたが持っている場合
select count(*) from employees // query 1
今はそうしないと使えrs.getString(columnLabel)
ない
従業員からの合計数として count(*) を選択します
rs.getString("total Number") unless you do
したがって、使用するのは理にかなっています
getString(int columnIndex) with query 1 instead of rs.getString(columnLabel)
上記の例では、以下の文は完全に理にかなっています
クエリで明示的に名前が付けられていない列については、列番号を使用することをお勧めします。列名を使用する場合、プログラマーはそれらが目的の列を一意に参照することを保証するように注意する必要があります。これは、SQL AS 句で保証できます。