当前位置:  技术问答>java相关

java连接数据库,将statement,connection放入一个状态类,其他的类调用,

    来源: 互联网  发布时间:2015-01-07

    本文导语:  在测试时,向类statedb设置数据时是对的,但是取的时候不能成功,特向大侠们求救;以下为原程序代码; package onJava; import java.awt.*; import java.net.*; import java.sql.*; import java.io.*; import java.util.*; public class MakeDB{ ...

在测试时,向类statedb设置数据时是对的,但是取的时候不能成功,特向大侠们求救;以下为原程序代码;
package onJava;

import java.awt.*;
import java.net.*;
import java.sql.*;
import java.io.*;
import java.util.*;




public class MakeDB{
  String workerString;
  stateDB state = new stateDB();
public static void main(String[] args){
JFrame frame = new MakeDB();
}
public MakeDB() {

     try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String url = "jdbc:odbc:stockDB File";
String user = "";
String password = "";

Connection con = DriverManager.getConnection(url,user,password);
Statement stmt = con.createStatement();
                                                System.out.println(stmt);
                                        //   此句设置完全成功
                                                state.setStmt(stmt);
                                                state.setCon(con);
     
                                                new seekDB();
}catch(Exception e){
 System.out.println(e);
}         
                      for(;;){};
}
}

class seekDB extends stateDB{     ///去掉 extends statedb也不行
  Connection con;
  
  //stateDB stmt = new stateDB();       ////去掉此句也不行
  public seekDB(){
    try{
      Statement stmt = getStmt();   //去掉此句也不行,此时stmt为null
      System.out.println(stmt);
      String sqlStrings = "SELECT * FROM stockDay"; //----------
      ResultSet rs = stmt.executeQuery(sqlStrings);
      while(rs.next()) {
        String workerString = rs.getString(2);
        System.out.println(workerString);
      }
    }catch(Exception ex){
      System.out.println(ex);
    }
  }
}
class stateDB{
  Connection con;
  Statement  stmt;
  public stateDB(){
  }
  public void setCon(Connection con){
    con = con;
  }
  public Connection getCon(){
    return con;
  }
  public void setStmt(Statement stmt){
    stmt = stmt;
    System.out.println(stmt);   //测试用
  }
  public Statement getStmt(){
    System.out.println(stmt);           //测试用
    return stmt;
  }
}

|
笨笨帮你看一下。

你的思路有些问题:请注意一下事实,java是按值传参数的。所以你在seekDB和MakeDB里只能改变stateDB的属性,
我建议你用这种思路去设计类的结构:
首先在main里new 出一个stateDB的对象来。
然后,把stateDB的对象做为seekdb和makedb的构造函数的参数传入。
就可以了。我一直这样做的。

    
 
 

您可能感兴趣的文章:

  • VB编写的DLL不能被JAVA调用,用C将VB编写的DLL包装起来,做成一个新的DLL;用C编写的DLL可以被JAVA调用,用JAVA再进行一层的包装,因为JAV
  • 请问从一个java程序中如何调用另一java程序,并控制可以其状态(最小化、最大化、结束程序),还有怎样知道那个被调用的程序结束。
  • 可不可以用java调用其他语言的编译结果?(好象asp调用com那样)
  • 请问如何在Java中调用一个VB所写的DLL?如何调用这个Dll的方法?如何取得和设置这个Dll的属性值?谢谢!
  • ###java调用COM组件或COM调用java组件(EJB)解决办法。###
  • java线程怎么调用java的application.class?
  • 求救!!如何在java程序中调用外部非java的exe文件?
  • how to use the statement"reurn'in java? iis7站长之家
  • java.awt 和java.util都有List,想调用awt的List而出现Ambiguous class错误怎么办?
  • 一个.java文件中怎样来调用另一个.java文件中的变量及其它东西!
  • java调用sh脚本遇到export命令会卡住,sh不能调用子sh
  • Java能调用OLE对象吗?怎样利用Java生成Excel报表?
  • java打包后如何调用?
  • 请问Java可否调用MsSQL的存储过程,如何调用?
  • 奇怪?我在jsp中调用java类。java类本身编译没错,但jsp中的引用Tomcat总是报错。
  • java能否调用dll或ocx
  • 如何用java调用word?来者给分!·!!!!!
  • 怎么在java里调用一个oracle的procedure呢?
  • 我在APPLET里调用JAVAMAIL发邮件,出现java.security.AccessControlException: access denied (java.util.PropertyPermission * read,write)的错误???
  • 求教!!!VC应用调用Java模块可行吗?
  • java命名空间java.sql接口connection的类成员方法: gettransactionisolation定义及介绍
  • I/O故障java.net.ConnectException: Connection refused: connect
  • java命名空间javax.rmi.corba接口stubdelegate的类成员方法: connect定义及介绍
  • java.sql.SQLException:Can not open connection with full database pool(20)
  • java命名空间javax.rmi.corba接口portableremoteobjectdelegate的类成员方法: connect定义及介绍
  • 本页的java.sql.Connection sqlCon怎么传給内部类使用?
  • java命名空间java.sql接口connection的类成员方法: settransactionisolation定义及介绍
  • java.net.SocketException: Connection reset 解决方法
  • java命名空间javax.management.remote.rmi类rmiconnector的类成员方法: connect定义及介绍
  • java命名空间java.net类urlconnection的类成员方法: connect定义及介绍
  • java命名空间javax.management.remote接口jmxconnector的类成员方法: connect定义及介绍
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.beans类statement的类成员方法: statement定义及介绍
  • 使用Statement.java里的execute执行存储过程问题
  • java命名空间java.awt类pageattributes.mediatype的类成员方法: statement定义及介绍
  • how to use the statement"reurn'in java?
  • java命名空间java.sql接口statement的类成员方法: clearwarnings定义及介绍
  • java命名空间java.sql接口statement的类成员方法: isclosed定义及介绍
  • java命名空间java.sql接口statement的类成员方法: getfetchdirection定义及介绍
  • java命名空间java.sql接口statement的类成员方法: getfetchsize定义及介绍
  • java命名空间java.sql接口statement的类成员方法: getwarnings定义及介绍
  • java命名空间java.sql接口statement的类成员方法: close定义及介绍
  • java命名空间java.sql接口statement的类成员方法: ispoolable定义及介绍
  • java命名空间java.sql接口statement的类成员方法: getmaxrows定义及介绍
  • java命名空间java.sql接口statement的类成员方法: getconnection定义及介绍
  • java命名空间java.sql接口statement的类成员方法: getgeneratedkeys定义及介绍
  • java命名空间java.sql接口statement的类成员方法: cancel定义及介绍
  • java命名空间java.sql接口statement的类成员方法: clearbatch定义及介绍
  • java命名空间java.sql接口statement的类成员方法: getquerytimeout定义及介绍
  • java命名空间java.sql接口statement的类成员方法: getresultsetconcurrency定义及介绍
  • java命名空间java.sql接口statement的类成员方法: getresultsetholdability定义及介绍
  • java命名空间java.sql接口statement的类成员方法: getresultsettype定义及介绍
  • java命名空间java.sql接口statement的类成员方法: setmaxrows定义及介绍
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3