关于Java与SQL的问题

wangju19870301 2007-07-01 10:16:36
String s1=tf1.getText();
String s2=tf2.getText();
String s3=tf3.getText();
String s4=tf4.getText();
String s5=tf5.getText();
String s6=tf6.getText();
String s7=tf7.getText();
String s8=tf8.getText();
String JDriver="sun.jdbc.odbc.JdbcOdbcDriver";
String conURL="jdbc:odbc:TestDB";
try
{
Class.forName(JDriver);
}
catch(java.lang.ClassNotFoundException e)
{
System.out.println("ForName:"+e.getMessage());
}
try
{
Connection con=DriverManager.getConnection(conURL);
Statement s=con.createStatement();
String r1="insert into person values("+"'s1','s2','s3','s4','s5','s6','s7','s8')";
s.executeUpdate(r1);
s.close();
con.close();
}
catch(SQLException e)
{
System.out.println("SQLException:"+e.getMessage());
}

请问String r1="insert into person values("+"'s1','s2','s3','s4','s5','s6','s7','s8')";这一 有 有问题啊?
其中tf1~tf8为JTextField
...全文
160 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
orangemike 2007-07-02
  • 打赏
  • 举报
回复
所以我们要尽量用PreparedStatement 而不是Statement
tdy1234 2007-07-02
  • 打赏
  • 举报
回复
楼上正解
zhoutaomtv 2007-07-01
  • 打赏
  • 举报
回复
String r1="insert into person values("+"'s1','s2','s3','s4','s5','s6','s7','s8')";
应改为
String r1="insert into person values('"+s1+"','"+s2+"','"+s3+"','"+s4+"','"+s5+"','+s6+"','"+s7+"','+s8+"')";
wangju19870301 2007-07-01
  • 打赏
  • 举报
回复
请问应如何改正才能正确?
joejoe1991 2007-07-01
  • 打赏
  • 举报
回复
String r1="insert into person values("+"'s1','s2','s3','s4','s5','s6','s7','s8')";

因为你的String 写到引号里了。所以不对

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧