📄 funcoper.java
字号:
import java.io.*;
import java.util.*;
import java.sql.*;
class FieldInfo
{
String strFieldName;
String strFieldType;
void setstrFieldName(String strFieldName)
{
this.strFieldName = strFieldName;
}
void setstrFieldType(String strFieldType)
{
this.strFieldType = strFieldType;
}
}
class TableInfo
{
String strTableName;
Vector vecFieldstrFName = new Vector(); //它是关于FieldInfo的向量类
Vector vecFieldstrFType = new Vector();
TableInfo(String TableName)
{
strTableName = TableName;
}
}
public class funcOper
{
TableInfo tInfo;
void setTableName(String TableName) //根据第1行文本内容
{
tInfo = new TableInfo(TableName);
}
void setFieldsName(String FieldName) //根据第2行文本内容
{
StringTokenizer ss = new StringTokenizer(FieldName,",");
while(ss.hasMoreTokens())
{
String str = ss.nextToken();
tInfo.vecFieldstrFName.add(str);
}
}
void setFieldsType(String FieldType) //根据第三行文本内容
{
StringTokenizer ss = new StringTokenizer(FieldType,",");
while(ss.hasMoreTokens())
{
String str = ss.nextToken();
tInfo.vecFieldstrFType.add(str);
}
}
String insertData(String Data)
{
String strSQL = "insert into ";
strSQL += tInfo.strTableName;
strSQL += " ";
strSQL += "values";
strSQL += "(";
StringTokenizer ss = new StringTokenizer(Data," ");
String str;
int i = 0;
for(i = 0; i<tInfo.vecFieldstrFName.size()-1; i++)
{
str = ss.nextToken();
strSQL += "'";
strSQL += str;
strSQL += "'";
strSQL += ",";
}
str = ss.nextToken();
strSQL += "'";
strSQL += str;
strSQL += "'";
strSQL += ")";
return strSQL;
}
String getCreateTableSQL()
{
FieldInfo f = new FieldInfo();
String strSQL = "create table ";
strSQL += tInfo.strTableName;
strSQL += "(";
int i = 0;
for(i = 0; i<tInfo.vecFieldstrFName.size()-1; i++)
{
String str1 = (String)tInfo.vecFieldstrFName.elementAt(i);
f.setstrFieldName(str1);
strSQL += f.strFieldName;
strSQL += " ";
String str2 = (String)tInfo.vecFieldstrFType.elementAt(i);
f.setstrFieldType(str2);
strSQL += f.strFieldType;
strSQL += ",";
}
String str1 = (String)tInfo.vecFieldstrFName.elementAt(i);
f.setstrFieldName(str1);
strSQL += f.strFieldName;
strSQL += " ";
String str2 = (String)tInfo.vecFieldstrFType.elementAt(i);
f.setstrFieldType(str2);
strSQL += f.strFieldType;
strSQL += ")";
return strSQL;
}
public static void main(String []args)throws IOException
{
int n = 0;
funcOper fn = new funcOper();
FileReader input = new FileReader("D:\\shuju.txt");
BufferedReader br = new BufferedReader(input);
String sline = br.readLine();
fn.setTableName(sline);
sline = br.readLine();
fn.setFieldsName(sline);
sline = br.readLine();
fn.setFieldsType(sline);
String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
String connStr = "jdbc:odbc:dazuoye";
Connection con = null;
Statement stm = null;
fn.getCreateTableSQL();
try
{
Class.forName(driver);
con = DriverManager.getConnection(connStr);
stm = con.createStatement();
String sql = fn.getCreateTableSQL();
stm.executeUpdate(sql);
sline = br.readLine();
while ( sline != null )
{
String insertDatasql = fn.insertData(sline);
sline = br.readLine();
stm.executeUpdate(insertDatasql);
n++;
}
System.out.println("当前共"+ n +"条记录");
br.close();
stm.close();
con.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -