java.sql.SQLException: 結果セットの開始前
2022-02-09 23:02:53
このエラーは、JDBCを使用してデータベースに問い合わせを行った際に報告されました。
CREATE TABLE `d_user` (
`id` int(10) NOT NULL,
`name` varchar(10) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gb2312;
insert into d_user values(1,'sean');
public class Test {
public static void main(String[] args){
Connection conn = null;
Statement stat = null;
try{
Class.forName("com.mysql.jdbc.Driver");
String url = "jdbc:mysql://localhost:3306/mydb";
String user = "root";
String pwd = "196428";
conn = DriverManager.getConnection(url, user, pwd);
stat = conn.createStatement();
String sql = "select name from d_user where id = 1";
ResultSet rs = stat.executeQuery(sql);
// if(rs.next()){
String name = rs.getString(1);
System.out.println(name);
// }
}catch(Exception e){
e.printStackTrace();
}finally{
if(null ! = conn){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if(null ! = stat){
try {
stat.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
}
java.sql.SQLException: Before start of result set
java.sql.SQLException
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
実行した結果は
sean
具体的なエラーメッセージは、使用するデータベースドライバーに関連するものです。 データベースドライバを mysql-connector-java-5.1.6-bin.jar に変更したところ(元々使用していたドライバは mysql-connector-java-5.1.10.jar )、エラーが報告されるようになりました。
......
Moves the cursor one line forward from the current position. resultSet The cursor is initially located before the first line; the first call to the next method makes the first line the current line; the second call makes the second line the current line, and so on.
When the next method is called and returns false, the cursor is located after the last line.
......
テストコードのコメント部分を削除しても問題なく動作します。
sean
結果セットである ResultSet を操作する前に、必ず ResultSet.next() を使用して、結果セットの最初の行にポインタを移動してください。
next()メソッドのAPI解説をご覧ください。
......
Moves the cursor one line forward from the current position. resultSet The cursor is initially located before the first line; the first call to the next method makes the first line the current line; the second call makes the second line the current line, and so on.
When the next method is called and returns false, the cursor is located after the last line.
......
JDBCは目を見張るほど簡単に書ける
関連
-
Eclipse問題 アクセス制限。タイプ 'SunJCE' が API でないことを解決し、/jdk ディレクトリにある /jre と jre の違いについて理解を深める。
-
アクセス制限です。タイプ 'Application' は API ではない(必要なライブラリに制限がある)。
-
Javaでよくある構文エラー
-
java send https request prompt java.security.cert.について。
-
API の戻り値を処理するために ResponseEntity を使用する
-
Javaがリソースリークに遭遇した:'input'が閉じない 解決方法
-
ecplise プロンプトが表示されます。"選択したものは起動できません。" "最近の起動はありません。"
-
Java:未解決コンパイル問題の解決方法
-
java1.8ソースコード ArrayListソースコード解釈
-
javaの継承の基本的な実装
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
実行中にEclipseがポップアップする A Java Exception has occurred
-
executeQuery()でデータ操作文が発行できない。解決方法
-
java.sql.SQLException: executeQuery()でデータ操作文を発行できません。
-
ApplicationContextの起動エラーです。条件レポートを表示するには、アプリケーションを'de'で再実行します。
-
java -jarコマンドでパッケージを実行すると、無効または破損したjarfile xxxx.jarが表示される。
-
java マイクロソフト払い戻し予期せぬサーバーからのファイルの終了
-
コンストラクタDate()が未定義である問題
-
コレクション - PriorityQueueソースコード解析
-
ロンボク版問題による血の海を思い出せ
-
Prologでは、コンテンツは許可されていません。