質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
JDBC

JDBC(Java DataBase Connectivity)は、Javaとリーレーショナルデータベースに接続させる基本的なAPIです。Java上でSQLステートメントを発行することで、データベースの種類に影響を受ないDB操作を可能とします。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

Q&A

解決済

1回答

12454閲覧

JDBCによるデータベーステーブルへのINSERTについて

rjberger19

総合スコア33

JDBC

JDBC(Java DataBase Connectivity)は、Javaとリーレーショナルデータベースに接続させる基本的なAPIです。Java上でSQLステートメントを発行することで、データベースの種類に影響を受ないDB操作を可能とします。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

0グッド

0クリップ

投稿2015/10/27 14:52

言語はpostgreSQLです。

以下の通りに定義をしているテーブルに対して、

sellnumber character varying, title character varying NOT NULL, category integer NOT NULL, url character varying NOT NULL, cost double precision NOT NULL, currency character varying NOT NULL, size character varying NOT NULL, color character varying, stock integer NOT NULL, memo text, pitc text

以下の通りDBにINSERT処理を行おうとしております。

String sql = "INSERT INTO selList values(?,?,?,?,?,?,?,?,?,?,?)"; try { // DB接続 conn = DriverManager.getConnection(returnURL(), returnUsername(), returnPassword()); conn.setAutoCommit(false); ps = conn.prepareStatement(sql); ps.setString(2, title); ps.setInt(3, category); ps.setString(4, url); ps.setFloat(5, cost); ps.setString(6, currency); ps.setString(7, size); ps.setFloat(8, price); ps.setString(9, stock); ps.setString(10, memo); // SQL実行 ps.executeUpdate();

ここで1番目のsellnumberと11番目のpitcは後追いで書き込みを行いたいので、
ここのDB書き込み処理では一旦空欄(null?)としたいのですが、

org.postgresql.util.PSQLException: パラメータ 1 に値が設定されてません。

こちらのエラーが発生し、DBへの書き込みができません。

どう対処すればよいでしょうか?
皆様のお知恵をお貸し頂きたく。
どうぞ、よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

NullをsetNullメソッドで設定する必要があります。

lang

1ps.setNull(1, SqlType.VARCHAR); 2ps.setNull(11, SqlType.VARCHAR);

参考リンク:
PreparedStatement.setNull - Java SE 8 API ドキュメント
http://docs.oracle.com/javase/jp/8/api/java/sql/PreparedStatement.html#setNull-int-int-

投稿2015/10/27 15:02

編集2015/10/27 15:03
argius

総合スコア9388

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問