可以使用java中的模块化编程思想,分成两个模块,一个模块用来收集数据,将收集到的数据存储在一个数组中,另一个模块用来处理每20条数据中选择一条进行入库。
1.收集数据:// 声明一个数组,用于存储收集到的数据String[] dataArray = new String[20]// 循环收集数据,每次收集20条for(int i=0i<20i++){ dataArray[i] = getDataFromSource()}
2.处理数据:// 随机生成一个数字,作为要入库的数据的索引int index = (int)(Math.random() * 20)// 取出要入库的数据String data = dataArray[index]// 将数据入库insertDataIntoDB(data)
1.提取单条记录//import java.sql.*
Connection conn=null
Statement stmt=null
ResultSet rs=null
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")
String url="jdbc:odbc:%%1"
con=DriverManager.getConnection(url,%%2,%%3)
stmt=conn.createStatement()
stmt.executeUpdate(%%4)
rs=stmt.executeQuery(%%5)
}catch(Exception e){
e.printStackTrace()
}
finally{
try {
if(rs!=null)
rs.close()
if(stmt!=null)
stmt.close()
if(conn!=null)
conn.close()
} catch (SQLException e) {
e.printStackTrace()
}
}
3.显示表格
/*
import java.awt.*
import javax.swing.*
import java.sql.*
import javax.swing.table.*
*/
String[] colHeads=%%4
Connection conn=null
Statement stmt=null
ResultSet rs=null
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")
String url="jdbc:odbc:%%1"
conn=DriverManager.getConnection(url,%%2,%%3)
stmt=conn.createStatement()
rs=stmt.executeQuery("SELECT count(*) as au_count from "+%%5)
rs.next()
int iCount=rs.getInt("au_count")
Object[][] data=new Object[iCount][]
int i=0
rs=stmt.executeQuery("SELECT * from "+%%5)
while(rs.next()){
data[i]=new Object[iCount]
data[i][0]=rs.getString("au_fname")
data[i][1]=rs.getString("Phone")
data[i][2]=rs.getString("City")
i++
}
JTable table=new JTable(data,colHeads)
JScrollPane jsp=new JScrollPane(table)
getContentPane().add(jsp)
}catch(Exception e){
e.printStackTrace()
}
finally{
try {
if(rs!=null)
rs.close()
if(stmt!=null)
stmt.close()
if(conn!=null)
conn.close()
} catch (SQLException e) {
e.printStackTrace()
}
}
6.关闭时关闭连接
//import java.sql.*
addWindowListener(new WindowAdapter{
public void windowClosing(WindowEvent wevent){
if(stmt!=null){
try {
if(rs!=null)
rs.close()
if(stmt!=null)
stmt.close()
if(conn!=null)
conn.close()
} catch (SQLException e) {
e.printStackTrace()
}
}
7.执行命令
//import java.sql.*
Connection conn=null
PreparedStatement pst=null
try {
conn=DriverManager.getConnection(url)
pst=conn.prepareStatement("Insert Into grade(%%1) Values (?)")
pst.setInt(1,%%2)
//pst.setString(2,%%2)
pst.addBatch()
pst.executeBatch()
} catch (SQLException e){
e.printStackTrace()
}
finally{
try {
if (pst != null)
pst.close()
if (conn != null)
conn.close()
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace()
}
}
保存字节数组到数据库分两步:第一、利用FileInputStream.read(byte[])方法把内容读取到byte[]数组中,比如图片是由二进制数组成的,就可以定义为一个字节数组。
第二、在数据库中对应记录字段应该设置为blob类型,这样就能够顺利保存了
事例代码如下:
PreparedStatement stmt = connection.generatePreparedStatement("INSERT INTO ... ")
stmt.setBytes(1, yourByteArray)
其中,yourByteArray是你读出来的字符数组。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)