日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

使用多行sql字符串时,要注意不要忽略了空格

發(fā)布時(shí)間:2023/12/9 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用多行sql字符串时,要注意不要忽略了空格 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

使用李剛老師編著的《瘋狂Java講義》(第2版)學(xué)習(xí)MySql數(shù)據(jù)庫(kù)與JDBC編程(使用Java 7 ),其中第601頁(yè)的ConnMySql.java 程序代碼在Eclipse上運(yùn)行,出現(xiàn)錯(cuò)誤。

import java.sql.*; public class ConnMySql{public static void main(String[] args)throws Exception{Class.forName("com.mysql.jdbc.Driver");try(Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/select_test","root","0754");Statement stmt = conn.createStatement();ResultSet rs = stmt.executeQuery( "select s.* ,teacher_name"+ "from student_table s, teacher_table t" + "where t.teacher_id = s.java_teacher"))//這里出錯(cuò) {while(rs.next()){System.out.println(rs.getInt(1) + "\t"+ rs.getString(2) + "\t"+ rs.getString(3) + "\t"+ rs.getString(4) );}}}}

根據(jù)提示把Sql語(yǔ)句從原來(lái)的使用雙引號(hào)將多行語(yǔ)句連接起來(lái)改為一行語(yǔ)句,編譯通過。

import java.sql.*; public class ConnMySql{public static void main(String[] args)throws Exception{Class.forName("com.mysql.jdbc.Driver");/** 采用了自動(dòng)關(guān)閉資源的try語(yǔ)句來(lái)關(guān)閉各種數(shù)據(jù)庫(kù)資源,,Java7改寫了Connection、Statement、ResultSet等接口,* 它們都繼承了AutoCloseable接口,因此它們都可以用try語(yǔ)句來(lái)關(guān)閉。* * */try(Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/select_test","root","0754");Statement stmt = conn.createStatement();ResultSet rs = stmt.executeQuery("select s.* ,teacher_name from student_table s, teacher_table t where t.teacher_id = s.java_teacher" ))//這樣改就沒問題/** "select s.* ,teacher_name"+ "from student_table s, teacher_table t" + "where t.teacher_id = s.java_teacher"* */{while(rs.next()){System.out.println(rs.getInt(1) + "\t"+ rs.getString(2) + "\t"+ rs.getString(3) + "\t"+ rs.getString(4) );}}}}

仔細(xì)查看代碼后發(fā)現(xiàn),每一句跟下一句句首都沒有留空格,相當(dāng)于

select s.* ,teacher_namefrom student_table s, teacher_table t"

所以導(dǎo)致出錯(cuò)。

但是嘗試先在ResultSet語(yǔ)句上邊定義String類型變量s,會(huì)提示“The resource type String does not implement java.lang.AutoCloseable”。在try語(yǔ)句前定義就沒問題。

?

轉(zhuǎn)載于:https://www.cnblogs.com/JLeight/archive/2013/02/15/2912785.html

總結(jié)

以上是生活随笔為你收集整理的使用多行sql字符串时,要注意不要忽略了空格的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。