仓酷云

标题: 发布一篇经由过程Java静态创立ODBC数据源来会见DBF文件 [打印本页]

作者: 分手快乐    时间: 2015-1-18 11:15
标题: 发布一篇经由过程Java静态创立ODBC数据源来会见DBF文件
最后我再次声明,我并没有说不看好java,实际上我对java很乐观的,毕竟她正在不断改进中,我相信她总有一天会和.net并驾齐驱的
经由过程Java静态创立ODBC数据源来会见DBF文件,必要用到registry,来修正注册表。
实在,次要是静态创立ODBC数据源,入手下手很复杂,能够手工设置一次数据源,固然也能够经由过程程序间接天生,成绩都不年夜。上面只说如何修正。
importcom.ice.jni.registry.RegStringValue;
importcom.ice.jni.registry.Registry;
importcom.ice.jni.registry.RegistryKey;
publicclassTestC{
 publicstaticvoidmain(String[]str){
  try{
  RegistryKeychild=Registry.HKEY_CURRENT_USER
.openSubKey("Software").openSubKey("ODBC").openSubKey("ODBC.INI").
   openSubKey("data_0930",RegistryKey.ACCESS_ALL);
  //操纵权限是经由过程RegistryKey来猎取的。
   Stringde="F:commony        estdata70901";
  //我的DBF数据的目次
  //个中,data_0930是我第一次设置的数据源的一个注册表的称号
   System.out.println(child.getStringValue("SourceDB"));
   child.setValue(newRegStringValue(child,"SourceDB",de));
   System.out.println(child.getFullName());
  }catch(Exceptione){
   e.printStackTrace();
  }
 }
}
然后就是经由过程,sun.jdbc.odbc.JdbcOdbcDriver来猎取数据,
importjava.sql.DriverManager;
importjava.sql.*;
publicclassTestOdbc{
 publicTestOdbc(){}
 publicstaticvoidmain(String[]args){
  java.sql.Connectionconn=null;
  java.sql.PreparedStatementpt=null;
  java.sql.ResultSetrs=null;
  try{
   Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  }
  catch(ClassNotFoundExceptionex1){
  }
  try{
   conn=DriverManager.getConnection("jdbc:odbc:data_0930","","");
   pt=conn.prepareStatement("select*fromtest_table");
   rs=pt.executeQuery();
   while(rs.next()){
    System.out.println("==="+rs.getString(1));
    System.out.println("==="+rs.getString(2));
    System.out.println("==="+rs.getString(3));
    System.out.println("==="+rs.getString(4));
    System.out.println("==="+rs.getString(5));
   }
  }
  catch(SQLExceptionex){}
 }
}
实在,文件名,是能够静态猎取的,一样平常能够经由过程java中的File类来猎取:
importjava.io.File;
publicclassTestD{
 publicstaticvoidmain(String[]args){
  Filefile=newFile("F:commony        estdata");
  File[]df=file.listFiles();
  for(intk=0;k<df.length;k++){
   if(df[k].isDirectory()){
    //由于文件夹中包括DBF文件,以是判别是文件夹,而不是文件
    System.out.println("===kkkk=="+k+"====="+df[k].getName());
   }
  }
 }
}
第一种就是如许,必要注重的是registry的利用,实在很复杂的,只需把DLL文件放到classpath下就能够了。
第二种实在更复杂,就是经由过程另外一个开元的类包jdbf.jar,利用办法也很复杂,网上有良多材料,能够查询。也就未几说了。

令人可喜的是java现在已经开源了,所以我想我上述的想法也许有一天会实现,因为java一直都是不断创新的语言,每次创新都会给我们惊喜,这也是我喜欢java的一个原因。
作者: 蒙在股里    时间: 2015-1-20 18:31
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
作者: 分手快乐    时间: 2015-1-24 13:18
是一种突破用户端机器环境和CPU
作者: 简单生活    时间: 2015-2-1 15:20
是一种将安全性(Security)列为第一优先考虑的语言
作者: 若相依    时间: 2015-2-9 04:34
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
作者: 若天明    时间: 2015-2-26 22:18
Sun公司看见Oak在互联网上应用的前景,于是改造了Oak,于1995年5月以Java的名称正式发布。Java伴随着互联网的迅猛发展而发展,逐渐成为重要的网络编程语言。
作者: 莫相离    时间: 2015-3-8 18:17
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
作者: 兰色精灵    时间: 2015-3-9 17:25
Java是一种计算机编程语言,拥有跨平台、面向对java
作者: 飘灵儿    时间: 2015-3-19 18:14
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2