java jdbc_odbc 桥已经链接成功 写插入语句时报错!各位朋友来帮帮忙啊

wangdbeyond 2010-03-28 12:45:24
sql 2000里面有一个 myuser表 里面有Uname 和Upwd字段 都是varchar 类型的
代码如下 :


package zhil;
import java.sql.*;
class cx{
Connection conn ;
public cx(){
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn = DriverManager.getConnection("jdbc:odbc:sql");
System.out.println("数据库连接成功");
}
catch (Exception ex) {
ex.printStackTrace();
}
}
void insert(String Uname,String Upwd){
try {
Statement st = conn.createStatement();
int unm = st.executeUpdate("insert into myuser values('"+Uname+"','"+Upwd+"')");
System.out.println("所影响记录的行数为:"+unm);
st.close();
}
catch (Exception ex) {
ex.printStackTrace();
}
}
void closeconn(){
try {
conn.close();
}
catch (Exception ex) {
}
}
}
public class ODBC {
public static void main(String[] args) {
cx sql = new cx();
sql.insert("张三","123");
sql.closeconn();
}
}

当代码执行到Statement st = conn.createStatement();时就跳到处理异常哪里去了

接着就报下面的错误
java.lang.NullPointerException

at zhil.cx.insert(ODBC.java:17)

at zhil.ODBC.main(ODBC.java:37)
...全文
110 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
cjoy4856 2010-03-28
  • 打赏
  • 举报
回复
LZ你的Conn是一个空的。。。你知道嘛?这个是你的代码

Connection conn ;//这个对象一直是null你知道嘛
public cx(){
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn = DriverManager.getConnection("jdbc:odbc:sql");、、这个对象并不是上面的那个对象
System.out.println("数据库连接成功");


Connection conn ; Connection conn = DriverManager.getConnection("jdbc:odbc:sql");
你说他们是相同的


你改成这样的

Connection conn ;//
public cx(){
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn = DriverManager.getConnection("jdbc:odbc:sql");//将对象赋值
System.out.println("数据库连接成功");


这样才将conn
sunny936 2010-03-28
  • 打赏
  • 举报
回复
LZ不妨看看是否有连接的驱动程序或者已经添加了数据库的连接驱动包。
希望对LZ有帮助
wangdbeyond 2010-03-28
  • 打赏
  • 举报
回复
2楼的朋友 连接数据库应该是连接好了的 因为运行后它提示了连接数据库成功 就是创建Statement 的时候报错 我按照你的链接方法做了 但还是没链接上
justchenjie 2010-03-28
  • 打赏
  • 举报
回复
1、 控制面板--管理工具--数据源(ODBC)--系统DSN —— 创建一个数据源 ;

2、 连接的服务器输入(localhost或 . )如:.;

3、 然后点下一步,一直到选择数据库。选择你需要的数据库(如:pubs),然后数据源就创建好了;

具体代码(假设,创建的数据源名称为“ds”,数据库用户为“sa”,密码为“”)

import java.sql.Connection;
import java.sql.DriverManager;

public class DbConn {
public Connection conn = null;
public DbConn(){
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
conn = DriverManager.getConnection("jdbc:odbc:ds","sa","");
System.out.println("连接成功");
} catch (Exception e) {
System.out.println("连接失败");
}
}
}

yangnan2009 2010-03-28
  • 打赏
  • 举报
回复
connection 没有得到 看看连接对没 是否是连接了这个数据库
chen5567799 2010-03-28
  • 打赏
  • 举报
回复
你确定数据库服务器开了??????????????

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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