⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 funcoper.java

📁 与数据库相连的JAVA程序。输入学生的信息
💻 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 + -