📄 b0e9a07dde75001d117f97694e587497
字号:
//【例12-11】 将磁盘文件写入BLOB数据。
//程序清单12-11: InsertRecordDemo.java
package blob.document.mssqlserver;
import java.sql.*;
import java.io.*;
import db.connection.DatabaseConnection;
public class InsertRecordDemo {
public static void main(String[] args) {
// 创建文档的磁盘文件名数组
String[] fileNames = { "教高厅[2004]21号.doc", "教高厅[2004]14号.doc",
"教高[2005]1号.doc", "教高[2007]1号.doc", "教高[2007]2号.doc" };
// 创建文档的名字数组
String[] dName = { "教高厅[2004]21号", "教高厅[2004]14号", "教高[2005]1号",
"教高[2007]1号", "教高[2007]2号" };
// 创建文档的描述数组
String[] dDescriptions = { "普通高等学校本科教学工作水平评估方案(试行)",
"教育部办公厅关于加强普通高等学校毕业设计(论文)工作的通知", "关于进一步加强高等学校本科教学工作的若干意见",
"教育部财政部关于实施高等学校本科教学质量与教学改革工程的意见",
"教育部关于进一步深化本科教学改革全面提高教学质量的若干意见" };
File file = null;
FileInputStream fs = null;
String query = "select * from tbldocuments";
byte pBytes[];
int i;
try {// 连接数据库
Connection con = new DatabaseConnection().getMsSqlServerConnection(
"DBdocument", "sa", "ok");
// 创建可以滚动,更新数据的sql语句执行类
Statement smt = con
.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
// 创建可更新数据的数据集
ResultSet rs = smt.executeQuery(query);
for (i = 0; i < 5; ++i) {
// 获取文件名
file = new File(fileNames[i]);
// 读入文档文件,当前路径是运行路径
fs = new FileInputStream(file);
// 根据文件大小创建byte数组
pBytes = new byte[fs.available()];
// 获取文件读入类的二进制数据
fs.read(pBytes);
// 将数据集的游标移到新记录位置
rs.moveToInsertRow();
// 更新文档号字段
rs.updateString(1, new Integer(i + 1).toString());
// 更新文档名字字段
rs.updateString(2, dName[i]);
// 更新文档描述字段
rs.updateString(3, dDescriptions[i]);
// 更新文档字段
rs.updateBytes(4, pBytes);
// 向数据库插入记录
rs.insertRow();
System.out.println("记录" + (i + 1) + "的文件长度 = " + pBytes.length);
}
System.out.println("向数据表:tbldocuments插入" + i + "条记录成功!");
smt.close();
con.close();
} catch (IOException e) {
e.printStackTrace();
} catch (SQLException e) {
System.out.println("=SQLException:" + e.getMessage());
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -