
早速ですがお願いします。例えば下のプログラムでの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で質問しましょう!
似たような質問が見つかりました
- 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
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- Java 直し方について教えて頂きたいです。 4 2022/08/13 02:11
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- PHP 【PHP/MySQL】コード上で生成したクエリを基に集計クエリを作りたい 1 2022/07/28 15:06
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
- PHP SQLとPHPの連結方法がわからないのでアドバイスお願い致します 1 2022/07/12 12:16
- Java java final 1 2022/06/10 22:49
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
JDBCのバグ?それともプログラ...
-
ロゴのライセンス
-
postgresqlでのトランザクショ...
-
PostgreSGLをインストールできない
-
スキャナをインストールしたい...
-
LINEのデータtalk.sqliteの閲覧...
-
roleとuserの違いがわからない...
-
pgsql.ini のファイルは何所に...
-
PostgreSQL14.6のSSL対応について
-
windows版postgresql 異なるバ...
-
OracleDB10gインストール oemの...
-
postgresqlの国際化言語のサポ...
-
デフォルトポート以外の指定の...
-
oracle10gのインストール
-
phpmyadminで左ペインのメニュ...
-
Postgre7.3.4に対応するpgAdmin
-
vbsでからプログラムを、オプシ...
-
postgreSQLが初期化できないの...
-
postgresql.conf を編集したら,...
-
PostgreSQLの管理ツール
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
postgresqlでのトランザクショ...
-
postgresql のフルバキュームみ...
-
sqlにて0無しの月をフォーマッ...
-
csvデータをPostgreSQLにインポ...
-
SQLについてです
-
Postgresの対応OSは?
-
csvデータをPostgreSQLにコピー
-
JDBCのバグ?それともプログラ...
-
pgAdminIIIでのリストア
-
windows版postgresql 異なるバ...
-
postgresqlの接続ポート5432か...
-
Access フォーム「使用可能」...
-
Windows10がインストールできま...
-
大至急!mdfファイルの中身を見...
-
MySQLとPostgresの同時使用
-
exp、impについて
-
odbc接続処理が遅い
-
Universalインストーラが勝手に...
-
PostgreSQL14.6のSSL対応について
-
PostgreSQLが起動しない・・・
おすすめ情報