gpt4 book ai didi

java - 数据库插入

转载 作者:行者123 更新时间:2023-12-01 17:30:34 24 4
gpt4 key购买 nike

if(lines.size() >= 5){
String Actor = it.next();
String Bio = it.next();
String More_Bio = it.next();
String Reason = it.next();
String Fact = it.next();

if ( it.hasNext()== true &&it.next().startsWith("Actor : ") )
{


// for quotes

Actor = Actor.replace("'", "''");
// remove comment
Actor = Actor.replace("Actor: ", " ");

System.out.println(Actor);


}

if ( it.hasNext()== true &&it.next().startsWith("Bio: ") )
{

Bio = Bio.replace("'", "''");
Bio = Bio.replace("Bio: ", "");
System.out.println(Bio);

}

if (it.hasNext()== true &&it.next().startsWith("More_Bio: "))
{
More_Bio = More_Bio.replace("'", "''");
More_Bio = More_Bio.replace("More_Bio: ", "");
System.out.println(More_Bio);

}
if (it.hasNext()== true &&it.next().startsWith("Reason: ") )
{
Reason = Reason.replace("'", "''");
Reason = Reason.replace("Reason: ", "");
System.out.println(Reason);

}
if (it.hasNext()== true &&it.next().startsWith("Fact: ") )
{
Fact =Fact.replace("'", "''");
Fact =Fact.replace("Fact: ", "");
System.out.println(Fact);

}

Statement statement = con.createStatement();
statement.executeUpdate("INSERT INTO Tiffany (Actor, Bio, More_Bio, Reason,Fact) values('"+Actor+"','"+Bio+"','"+More_Bio+"','"+Reason+"','"+Fact+"')");

读取的文件 Actor :扎克·埃夫隆

简介:他出生于加利福尼亚州圣路易斯奥比斯波,并在附近的阿罗约格兰德长大。客串了几集《夏日乐园》(2004 年)后,他加入了常规转换阵容,饰演迷恋女孩的卡梅伦·贝尔。埃夫隆还主演了多部试播集,例如《卡尔·莱姆克的大世界》(2003)(电视剧)和《三重游戏》(2004)(电视剧)。

更多简介:埃夫隆于 2006 年 6 月毕业于阿罗约格兰德高中。埃夫隆最喜欢的运动包括高尔夫、滑雪、攀岩和滑雪板。在拍摄《夏日乐园》的海滩上呆了几天之后,他最近又增加了冲浪运动。

理由:自从我第一次在《歌舞青春》和《发胶》中看到这位帅气、善良、才华横溢的 Actor ,我就迷上了他,现在他更热了。他是好莱坞炙手可热的王子。

事实:扎克最珍贵的属性(property)是他亲笔签名的棒球 Collection 品,而且他是旧金山巨人队的 super 粉丝。

Actor :泰勒·洛特纳

简介:泰勒·丹尼尔·劳特纳 (Taylor Daniel Lautner) 出生于密歇根州大急流城, parent 为黛博拉·劳特纳 (Deborah Lautner) 和丹尼尔·劳特纳 (Daniel Lautner)。他和妹妹马克娜在密歇根州 hudson 维尔一个彬彬有礼的罗马天主教家庭中长大。

更多简介:然而,除了对武术的热爱之外,泰勒在七岁时很快就对表演产生了兴趣,当时涉足演艺界的武术教练鼓励他去试镜一个小节目。出现在汉堡王广告中。

理由:这是一位帅气的青少年偶像!我喜欢他在《暮光之城》系列中扮演的雅各布·布莱克!他是我见过的最帅的人之一。当我给他发推文并且他回复了一次时,我非常兴奋!

事实:他在高中一年级和二年级时踢足球。他有德国、法国、荷兰和美洲原住民(特别是渥太华和波塔瓦托米)血统。我的天啊!我们都喜欢莱昂国王乐队。

我正在尝试将上面的文件放入数据库中。但这是我运行时遇到的错误。

Exception in thread "main" com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: 
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's favorite sports include golf, skiing, rock climbing, and snowboarding.

He rece' at line 1
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
at com.mysql.jdbc.Util.getInstance(Util.java:381)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1030)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3491)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1936)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2060)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2536)
at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1564)
at com.mysql.jdbc.StatementImpl.executeUpdate(StatementImpl.java:1485)
at TiffanyWriter.main(TiffanyWriter.java:109)

最佳答案

您应该使用PreparedStatement主要是因为它可以防止 SQL injection attacks 。 @John Moses 已经发布了 Java 官方文档中的PreparedStatement 使用教程,这里是另一个很好的链接:MySQL and Java JDBC - Tutorial .

将代码移至PreparedStatement,它应该是这样的:

PreparedStatement ps = con.prepareStatement("INSERT INTO Tiffany(Actor, Bio, More_Bio, Reason, Fact) VALUES (?, ?, ?, ?, ?) ");
ps.setString(1, Actor);
ps.setString(2, Bio);
ps.setString(3, More_Bio);
ps.setString(4, Reason);
ps.setString(5, Fact);
ps.executeUpdate();

使用资源后不要忘记关闭它们:

ps.close();
con.close();

关于java - 数据库插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11441266/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com