
早速ですがお願いします。例えば下のプログラムでのSQL文なのですが、配列str1[0]の中身”みかん”をINSERTしたいのですが、やりかたがわかりません。プログラミングの素人なので簡単な質問で申し訳ないですけど、どなたか教えてくれないでしょうか?
ちなみにこのプログラムでstr1[0]のところを直接みかんと入れたらデータベースに追加することはできました。
import java.sql.*;
class jdbc{
public static void main(String args[]){
String[] str1 = new String[1];
str1[0] = "みかん";
try{
Class.forName("org.postgresql.Driver");
String url = "jdbc:postgresql:test";
String user = "";
String password = "";
System.out.println("URL :" + url);
System.out.println("USER :" + user);
System.out.println("PASSWORD :" + password);
Connection conn = DriverManager.getConnection(url, user, password);
Statement stmt = conn.createStatement();
int insertCount = stmt.executeUpdate("INSERT INTO shinamono (hinmei,nedan) VALUES ('+str1[0]+', 1500)");
if (insertCount >0){
System.out.println("追加しました");
}else{
System.out.println("追加できませんでした");
}
conn.commit();
stmt.close();
conn.close();
}catch(SQLException e){
e.printStackTrace();
}catch(Exception e){
e.printStackTrace();
}
}
}
なおエラーメッセージは次の通りです。
java.sql.SQLException: ERROR: column "みかん" does not exist
at org.postgresql.Connection.ExecSQL(Connection.java:533)
at org.postgresql.jdbc2.Statement.execute(Statement.java:294)
at org.postgresql.jdbc2.Statement.executeUpdate(Statement.java:78)
at jdbc.main(jdbc.java:21)
No.1ベストアンサー
- 回答日時:
int insertCount = stmt.executeUpdate("INSERT INTO shinamono (hinmei,nedan) VALUES ('+str1[0]+', 1500)");
この行ですね。文字列を+で連結しているので
"insert into ...'" + str1[0] + "', 1500)"
にならないといけません。ちゃんと前半の終わりと後半の始まりのダブルクォートを入れましょう。
それとstr1が配列なのは、今後拡張するからでしょうか?(今のプログラムでは配列である必要がないので・・・)
早速の回答ありがとうございます。うまく追加する事ができました。
>それとstr1が配列なのは、今後拡張するからでしょうか?
その予定です。HPから取ってきたデータを配列に入れて、そのデータをデータベースに追加するつもりでしたので、簡単な例でやり方をつかもうと思い質問させてもらいました。時間がなくて困っていたところ本当に助かりました。ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで縦のカラムデータを...
-
bashスクリプトでpostgreSQLの...
-
SQLでUPSERTを一度に複数行やる...
-
PostgreSqlでFunctionの作成に...
-
SQLにて指定日付より前、かつ最...
-
自治会総会の成立要件について
-
postgresqlでのトランザクショ...
-
shellからpostgresqlへの変数の...
-
postgresql についてです
-
PostgresQLでサーバーを新規追...
-
sqlの中で、 例えば条件句で AN...
-
列が存在しないと言われる
-
visual studioとPostgreSQL(Ve...
-
SQL SELECT文 別テーブルのレコ...
-
Postgresql 新規作成したサーバ...
-
postgresqlのtableのカラムの型...
-
php、postgresqlを使ってwebア...
-
三段論法を真理値表で証明する
-
tesuto 01
-
python3.12のインストール方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
postgresqlでのトランザクショ...
-
sqlにて0無しの月をフォーマッ...
-
SQLについてです
-
csvデータをPostgreSQLにコピー
-
PostgreSGLをインストールできない
-
csvデータをPostgreSQLにインポ...
-
マルチコアを使ってくれない
-
exp、impについて
-
windows版postgresql 異なるバ...
-
ORA-12571 パケット・ライター障害
-
Oracle9iを再インストールす...
-
postgresqlの接続ポート5432か...
-
odbc接続処理が遅い
-
PostgreSQLの標準文字コードをS...
-
Windows10がインストールできま...
-
Universalインストーラが勝手に...
-
Access フォーム「使用可能」...
-
Windows10でQuickTimeがインス...
-
インストール時のエラー
-
MySQLがインストールできない
おすすめ情報