既不报错 也未把数据写进数据库

javhu 2011-03-20 07:22:15
    public void insert(String s1,String s2){
Statement sql = null;
ResultSet rs = null;
int id = 0;
float i = 0;
String recode = null, insertStr = null;

try{
connection conn = new connection();
sql = conn.statement();
rs = conn.resultset();
rs.last();
id = rs.getInt(1)+1;
recode = "("+id+","+"'"+s1+"'"+","+"'"+s2+"'"+","+i+")";
insertStr = "INSERT INTO users VALUES "+recode;
sql.executeUpdate(insertStr);
}
catch(Exception e){
System.out.println("写入数据出错!");
}
}

其中statement() resultset()是同一个类connection中的两个函数 返回类型分别为Statement ResultSet

问题:在其他类中使用connection conn = new connection();conn.insert(s1,s2);的时候为什么不报错 不能把数据写进数据库?
...全文
118 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
warchief09 2011-03-22
  • 打赏
  • 举报
回复
[Quote= 引用 8楼 crystalangle 的回复:]
JDBC连接数据库
要先注册驱动Class.forName(DriverNameString);
然后使用连接字符串、用户名和密码获取数据库连接:
conn = DriverManage.getConnetction(url, username, password);你直接new一个Connection,既未注册驱动,又未指定数据库,也没有获取数据库的访问权,固然不会出结果
[/Quote]
**********************************************
欢迎使用 CSDN 小秘书
http://blog.csdn.net/whowhen21
**********************************************
小灰狼 2011-03-22
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 crystalangle 的回复:]
JDBC连接数据库
要先注册驱动Class.forName(DriverNameString);
然后使用连接字符串、用户名和密码获取数据库连接:
conn = DriverManage.getConnetction(url, username, password);

你直接new一个Connection,既未注册驱动,又未指定数据库,也没有获取数据库的访问权,固然不会出结果
[/Quote]

Connection 是接口,new 不出来的
楼主的程序应该编译都通不过,更别说运行了,不知道他凭什么得出插入不成功,不报错的结论的
小灰狼 2011-03-21
  • 打赏
  • 举报
回复
楼主的 Connection 居然是 new 出来的,难道楼主自己实现了一次JDBC接口?
zxclovedsy 2011-03-21
  • 打赏
  • 举报
回复
connection conn = new connection();
你的这句话有问题
你这样根本就没有连接到数据库
怎么可能吧数据插进去呢。。
你应该这样写:
connection conn = DB.getConnection();
DB是专门用于连接数据库的类
Nodin 2011-03-21
  • 打赏
  • 举报
回复
JDBC连接数据库
要先注册驱动Class.forName(DriverNameString);
然后使用连接字符串、用户名和密码获取数据库连接:
conn = DriverManage.getConnetction(url, username, password);

你直接new一个Connection,既未注册驱动,又未指定数据库,也没有获取数据库的访问权,固然不会出结果
javhu 2011-03-20
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 xingyue425 的回复:]

你看下你要插入到数据库的数据是不是符合数据库的条件,如果不符合的话是不会报错的当然数据也不会插进去.
[/Quote]
因为我是写在try里面的,如果数据类型不对肯定得报错的呀!
彩票虫虫 2011-03-20
  • 打赏
  • 举报
回复
你看下你要插入到数据库的数据是不是符合数据库的条件,如果不符合的话是不会报错的当然数据也不会插进去.
Gere Yeung 2011-03-20
  • 打赏
  • 举报
回复

public class InsertDemo {
public void insert() throws Exception{{{
Connection conn = null;
Statement stmt = null;
String sql = "INSERT INTO users VALUES ('')"
Class.forName(DBDRIVER);
conn = DriverManage.getConnetction(DBURL, DBUSER, DBPASS);
stmt = conn.createStatement();
stmt.excuteUpdate(sql);
stmt.close();
conn.close();
}
public static final String DBDRIVER =" ";
public static final String DBURL = " ";
public static final String DBUSER =" ";
public static final String DBPASS = " ";
}
mickysky 2011-03-20
  • 打赏
  • 举报
回复
你还没打开数据库连接吧?
zqfddqr 2011-03-20
  • 打赏
  • 举报
回复

sql.executeUpdate(insertStr);
后面加一句
sql.commit();
试试

还有你没关闭连接啊 数据库连接得手动关闭的 sql.close();

具体的还得考虑异常等等你可以百度一下

62,614

社区成员

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

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