java读取数据库字段和值

java读取数据库字段和值,输出到regedit,xml,text,excel,pdf的程序 
主要功能,通过读取配置文件,来从数据库里提取字段和值,写入到regedit,xml,text,excel,pdf中。程序是dos界面的,由于仓促没有写windows界面,如果各位有兴趣,可以改成windows界面的。由于有配置文件的缘故,所以所有的操作不需要改写代码,只需在配置文件中改写就可以了。
主程序:
import java.io.*;
import java.util.prefs.*;
import java.sql.*;
import jxl.*;
import jxl.write.*;
import java.util.*;
import java.util.Properties;
import *;
import pdf.*;
import java.awt.Color;
/*
*author:kenshin
*effect:from database reading values ,output regedit or text or xml or excel or pdf.
*create time:2004/6/8
*modify time:2004/6/9
*copyright:2004
*/
public class PrefsDemo {
static Preferences prefsdemo;
static String[] field=new  String[1000];
static String [] values=new String[1000];
static int account=0,maxCount=0;
static String path=null,driver=null,user=null,password=null,odbcname=null;
static String txtname=null,xmlname=null,excelname=null,pdfname=null,sql=null;
static String author=null,createtime=null,effect=null,version=null;
public static void main(String args[]){
String rnumber=null;
int number=0;
BufferedReader buf;
/
/initialize config file
Initconfig();
//connection database
DBconnection();
//goto enterLoop
韦伯分布
enterLoop:
while(number<=6){
try{
//choice output formatting
System.out.println("please choice input formatting!!!");
System.out.print("1:input regedit  2:input xml  3:input text");
System.out.println("  4:excel  5:pdf  6:all  7:exit");
System.out.print("input a number,not a character:");
//keyword input
buf=new BufferedReader(new InputStreamReader(System.in));
adLine();
//change "number" type
number=Integer.parseInt(rnumber);
if(number>7){
System.out.println("please input an number of between 1 to 7 ");
number=0;
continue enterLoop;
}
switch(number){
case 1:
//output regedit
RegeditOutput(); break;
case 2:
//output xml
XmlOutput();    break;
case 3:
//output text
TextOutput();    break;
case 4:
//output excel
ExcelOutput();  break;
case 5:
//output excel
PdfOutput();  break;
case 6:
//output all
RegeditOutput();
XmlOutput();
TextOutput();
ExcelOutput();
PdfOutput();
break;
}
}
catch(IOException e){println(e);}
catch(NumberFormatException e){
System.out.println("please input an number type!");
number=0;
continue enterLoop;
}
}
}
/*************************************************
*effect:initialize config file
*input value :null
*return value:null
*create time:2004/6/11
*edit time:null
*************************************************/
static void Initconfig(){
Properties prop = new Properties();
String propFileName = "config.properties";
FileInputStream fis;
try{
fis = new FileInputStream(new File(propFileName));
prop.load(fis);
//get config file's values
path = Property("path");
odbcname = Property("odbc");
driver = Property("driver");
user = Property("user");
password = Property("password");
txtname = Property("txtname");
xmlname = Property("xmlname");
excelname = Property("excelname");
pdfname = Property("pdfname");
author = Property("author");
createtime = Property("createtime");
effect = Property("effect");
version = Property("version");
sql = Property("sql");
//close inputstream
fis.close();
System.out.println("*************************");
System.out.println("*config read successfull*");
System.out.println("*************************");
}
catch(IOException e){println(e);}
}
/*************************************************
*effect:connection database
*input value :null
*return value:null
*create time:2004/6/9
*edit time:null玩酷青春下载
*************************************************/
static void DBconnection(){
//jdbc-odbc variable initialize
Connection con=null;
Statement stm=null;
ResultSet rs=null;
//jdbc-odbc bridge
try{
Class.forName(driver);
Connection(odbcname,user,password);
ateStatement();
uteQuery(sql);
//get columncount values
MetaData().getColumnCount();
System.out.println("*************************");
System.out.println("*DB connect successfull *");
System.out.println("*************************");
//get database ColumnName
for(int i=1;i<=account;i++){
field[i]=rs.getMetaData().getColumnName(i);
}
()){
for(int j=1;j<=account;j++){
++maxCount;
values[maxCount]=rs.getString(field[j]);
System.out.println(values[maxCount]);
}
}
//close database
rs.close();
stm.close();
con.close();
}
catch(Exception e){
e);
}
}
/*************************************************
*effect:output regedit
*input value :null
*return value:null
*create time:2004/6/9
*edit time:null
*************************************************/
static void RegeditOutput(){
prefsdemo = Preferences.userRoot().node("/com/sunway/spc");
//wirte regedit
prefsdemo.put("author",author);
prefsdemo.put("createtime",createtime);
prefsdemo.put("effect",effect);
prefsdemo.put("version",version);
System.out.println("regedit create successfull!");
}
/
*************************************************
*effect:output xml
*input value :null
*return value:null
*create time:2004/6/9
竹镂舟蛾*edit time:null
*************************************************/
static void XmlOutput(){
//write xml
try{
File myfile = new File(path+xmlname);
if(!(ists())){
}
// write file
FileOutputStream fos = new FileOutputStream(path+xmlname);
}
catch (Exception e){
}
System.out.println("xml create successfull ");
}
/*************************************************
*effect:output text
*input value :null
*return value:null
*create time:2004/6/9
*edit time:null
*************************************************/
static void TextOutput(){
//field length
int length1[]=new int[1000];
/
/values length
int length2[]=new int[1000];
String space="          ";
String str1="-------------------------";
String str2[]=new String[1000];
String str3[]=new String[1000];
奥迪氏//check "/n"
int q=1;
//initialize str1[] str2[]
for(int i=1;i<=maxCount;i++){
str2[i]="";
str3[i]="";
}
try{
//create file
File myfile = new File(path+txtname);
if(!(ists())){
}
// write file
FileWriter fw=new FileWriter(path+txtname);
for(int i=1;i<=maxCount;i++){
if(i<=account){
length1[i]=25-field[i].length();
//account length2 length
for(int j=1;j<=length1[i];j++){
str2[i]=str2[i]+" ";
}
}
length2[i]=25-values[i].length();
//account length3 length
for(int j=1;j<=length2[i];j++){
str3[i]=str3[i]+" ";
}
}
//write field
for(int i=1;i<=account;i++){
fw.write(field[i]);
fw.write(str2[i]+space);
}
//write "-"
fw.write("\n");
for(int i=1;i<=account;i++){
fw.write(str1+space);
}
//write values
fw.write("\n");
for(int i=1;i<=maxCount;i++){
fw.write(values[i]+str3[i]+space);
if(i==account*q){
fw.write("\n");
q*=2;
}
}
fw.close();
}
catch(FileNotFoundException e){println(e);}
catch(IOException e){e.printStackTrace();}
System.out.println("text create successfull ");
}
/*************************************************三里庵派出所
*effect:outpu
t excel
*input value :null
*return value:null
*create time:2004/6/9
*edit time:2004/6/10
*************************************************/
static void ExcelOutput(){
//label1:field    label2:values
Label label1=null,label2=null;
int result=0,rows=0;
try{
//create an new file
File myfile = new File(path+excelname);
if(!(ists())){
System.out.println("an new excel create successful");
}
//create an new excel
WritableWorkbook workbook = ateWorkbook(myfile);
//use first excel's sheet
WritableSheet sheet = ateSheet("record", 0);
// add table title and values
for(int i=1;i<=account;i++){
//add table title
label1 = new Label(i-1, 0, field[i]);
sheet.addCell(label1);
}
//account rows values
result=maxCount/account;
for(int i=1;i<=result;i++){
for(int m=1;m<=account;m++){
rows++;
label2=new Label(m-1,i,values[rows]);
sheet.addCell(label2);
}
}
workbook.write();
workbook.close();
}
catch(Exception e){println(e);}
System.out.println("excel create successfull ");
}
/*************************************************
*effect:output pdf file
*input value :null
*return value:null
*create time:2004/6/11
*edit time:null
*************************************************/
static void PdfOutput(){
Document document;
Rectangle pageRect;
try{
document=new Document(PageSize.A4, 50, 50, 100, 50);
PageSize();
HeaderFooter header = new HeaderFooter(new Phrase("student information"), false);
header.setBorder(2);
header.setAlignment(Element.ALIGN_RIGHT);
document.setHeader(header);
//add page
HeaderFooter footer = new HeaderFooter(new Phrase("the"),new Phrase("page"));
footer.setAlignment(Element.ALIGN_CENTER);
footer.setBorder(1);
document.setFooter(footer);
//open document
document.open();
//create table
Table table = new Table(account);
table.setDefaultVerticalAlignment(Element.ALIGN_MIDDLE);
table.setBorder(Rectangle.NO_BORDER);
int hws[] = new int[account];
for(int i=1;i<=account;i++){
hws[i-1]=20;
}
table.setWidths(hws);
table.setWidth(100);
//add field
for(int i=1;i<=account;i++){
table.addCell(new Phrase(field[i]));
}
/
/add values
for(int i=1;i<=maxCount;i++){
table.addCell(new Phrase(values[i]));
}
//add table to pdf file
document.add(table);
//close pdf file
document.close();
}
catch(Exception e){System.out.println(e);}
System.out.println("pdf create successfull ");
}
}
*******************************************************************
配置文件
[author information]
a
uthor=kenshin
createtime=2004/6/08
effect=from database reading values ,output regedit or text or xml or excel or pdf
version=0.1
[date]
#date
date=2004
#saving path
path=f:\\kenshin\\
[database odbc information]
#table:Info
#field:<Name>,<Copyright>,<Author>
#odbc name
odbc=jdbc:odbc:xml
#driver
driver=sun.jdbc.odbc.JdbcOdbcDriver
#user
user=""
#password
password=""
#database select statement
刘绍棠文集sql=select * from Info
[argument]
#text file name
#xml file name
l
#excel file name
excelname=Info.xls
#pdfname file name
pdfname=info.pdf

本文发布于:2024-09-21 01:35:16,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/571562.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:字段   界面   配置文件   数据库   读取
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议