能够正常的查询数据库,但是不能插入数据库,编译没错,就是不能插入数据,

zhushoujun 2010-04-25 01:51:13
package mybbs;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

//下一次要分包了,尽量还用工厂模式
public class PersonCheckAndInsert {
DataBaseConnection dbc;
Connection con;
String sql;
PreparedStatement pstmt;
public PersonCheckAndInsert(){
dbc=new DataBaseConnection();
con=dbc.getConnection();
}

public void insert(Person p){
sql="insert into person(name,password) value(?,?)";

try {
System.out.println(p.getName()+"

"+p.getPassword());
System.out.println("执行前1");
//pstmt=con.prepareStatement(sql); //两句之


pstmt=con.prepareStatement(sql);
System.out.println("执行前2");
pstmt.setString(1, p.getName());
pstmt.setString(2, p.getPassword());
System.out.println("执行前3");
pstmt.executeUpdate();
System.out.println("执行后");
pstmt.close();
} catch (SQLException e) {
System.out.println("insert数据库出错,");
}finally{
dbc.close();
//实际上关的是con,
}
}
}

/*其中那句System.out.println(p.getName()+" "+p.getPassword());都能在后台

输出正常的值,然后后台还能输出“执行前1”,然后就是输出“insert出错”,

然后其他的都不能输出,其实PersonCheckAndInsert类还有一个查询的方法public

boolean check(Person p),都能够正常执行,就是这个public void insert

(Person p)方法不能正常执行*/



//以下是数据库连接类

package mybbs ;

import java.sql.* ;

public class DataBaseConnection
{
private String DBDRIVER =

"com.mysql.jdbc.Driver" ;
private String DBURL =

"jdbc:mysql://localhost/NOte?

user=root&password=root&characterEncoding=gb2312" ;

private Connection conn = null ;

public DataBaseConnection()
{
try
{
Class.forName(DBDRIVER) ;
this.conn = DriverManager.getConnection

(DBURL) ;
}
catch (Exception e)
{
}
}
public Connection getConnection()
{
return this.conn ;
}
public void close()
{
try
{
this.conn.close() ;
}
catch (Exception e)
{
}
}
}
...全文
106 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
sy_binbin 2010-04-28
  • 打赏
  • 举报
回复
sql="insert into person([name],[password]) value(?,?)";

这样试试
fashchina 2010-04-28
  • 打赏
  • 举报
回复
} catch (SQLException e) {
System.out.println("insert数据库出错,");
}


-->
} catch (SQLException e) {
e.printStackTrace();//看什么异常
System.out.println("insert数据库出错,");
}

24,922

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 Apache
社区管理员
  • Apache
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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