下記のコードはSQLにテーブルを作成し、データを登録するコードですが
コードを少し足すことで、ついでにIDを自動的に割り振る方法はあるのでしょうか?
import java.sql.*;
public class Sample1
{
public static void main(String args[])
{
try{
//接続の準備
String url = "jdbc:derby:cardb;create=true";
String usr = "";
String pw = "";
//データベースへの接続
Connection cn = DriverManager.getConnection(url, usr, pw);
//問い合わせの準備
DatabaseMetaData dm = cn.getMetaData();
ResultSet tb = dm.getTables(null, null, "車表", null);
Statement st = cn.createStatement();
String qry1 = "CREATE TABLE 車表(番号 int, 名前 varchar(50))";
String[] qry2 = {"INSERT INTO 車表 VALUES ('伊藤', '男性')",
"INSERT INTO 車表 VALUES ('佐藤', '女性')",
"INSERT INTO 車表 VALUES ('山田', '男性')"};
String qry3 = "SELECT * FROM 車表";
if(!tb.next()){
st.executeUpdate(qry1);
for(int i=0; i<qry2.length; i++){
st.executeUpdate(qry2[i]);
}
}
//問い合わせ
ResultSet rs = st.executeQuery(qry3);
//データの取得
ResultSetMetaData rm = rs.getMetaData();
int cnum = rm.getColumnCount();
while(rs.next()){
for(int i=1; i<=cnum; i++){
System.out.print(rm.getColumnName(i) + ":"+ rs.getObject(i) + " ");
}
System.out.println("");
}
//接続のクローズ
rs.close();
st.close();
cn.close();
}
catch(Exception e){
e.printStackTrace();
}
}
000001 伊藤 男性
000002 佐藤 女性
000003 山田 男性
No.1ベストアンサー
- 回答日時:
Javaではなく、
SQLデータベース側の機能に頼る(SQLサーバが連番管理する)のが一般的です。
ところが上記の連番管理機能は、
データベース製品毎にSQL構文や機能が異なり注意が必要。
例えば、一番簡単なMySQLの場合、
番号カラムにauto_increment属性を付けるだけです。
http://dev.mysql.com/doc/refman/4.1/ja/example-a …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP php エラー 2 2022/10/23 16:43
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- MySQL 次の時間帯の勝率の合計を求めるSQL文 1 2023/07/04 17:12
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- MySQL php テーブルを作れない 2 2022/11/17 18:22
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
フォーム上で押されたボタンによってサーブレットの処理を変えたい
Java
-
csv出力について
Java
-
データベースの値を判断してラジオボタンにセットする方法
Java
-
-
4
javaでDBから取得したデータのJSP表示
Java
-
5
データベースから取得したデータを配列に格納できません。
Java
-
6
jspからServletを呼び、元のjspページに戻るにはどうしたらよいですか?
Java
-
7
JSPからServletへの遷移
Java
-
8
java eclipse 型に解決できません
Java
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Class.forNameでエラーになる
-
equalsの逆
-
BufferedReaderでのエラー
-
テキストファイルから空白行をよむ
-
CSVファイルを列ごとに読み込む...
-
yyyymmddからyyyy/mm/d...
-
javaでCSVの中身から最大値を表...
-
テキストファイルの任意の文字...
-
JAVAでエラーがでる。
-
「javaに関して」エラーが解決...
-
以下のJAVAプログラムでご質問...
-
javaのfor文が機能してないみた...
-
Servletでテキストボックスに入...
-
Javaでデータに登録する度にID...
-
java連結
-
Javaの質問です。テキストファ...
-
csv出力について
-
プログラムのコードとLIBSVM形式
-
C言語のポインターに関する警告
-
System.err. printlnとSystem.o...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
yyyymmddからyyyy/mm/d...
-
equalsの逆
-
csv出力について
-
九九を横に表示する。
-
InputStream.read()でタイムア...
-
テキストファイルから空白行をよむ
-
Java int sum = 0は必要ですか?
-
javaのfor文が機能してないみた...
-
BufferedReaderでのエラー
-
Javaの質問です。テキストファ...
-
以下のJAVAプログラムでご質問...
-
Class.forNameでエラーになる
-
ソケットを使ったサーバとクラ...
-
テキストファイルにおいて任意...
-
JAVAでエラーがでる。
-
テキストファイルの任意の文字...
-
Web上に表示されたデータをcsv...
-
Inputstreamについて
-
[JAVA]エラーが解決できません。
-
Windowsでの標準入力の終了の仕方
おすすめ情報