在java中如何将图片存取至sql数据库? 我还没有试验成功,呵呵,帮你up :)我的只能存 2k多的字符.不知道什么原因... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 到这里看一下http://expert.csdn.net/Expert/topic/1571/1571367.xml?temp=.4020349 //JDBC-数据库中文件的读写.txt//DBReadWriteFile.java/* 1、目的: 将文件写入数据库,文件可以为任何类型的文件,如.doc、.txt、.jpg等等; 从数据库读文件内容到指定的文件中。 2、样例数据库 a、 数据库类型:Microsoft Access 2000 数据库名称:db1.mdb 表名称: testword 表字段: 字段名称 数据类型 name 文本 content OLE对象 b、 数据库类型:Microsoft SQL Server 2000 数据库名称:citi 表名称: testword 表字段: 字段名称 数据类型 name varchar(10) content image(16) 3、作者: [email protected]*/import java.io.*;import java.sql.*;public class DBReadWriteFile{ String dbUrl; String sql; Connection con; Statement state; ResultSet rs; public DBReadWriteFile(){ try{ //Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver"); //dbUrl = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=d:\\db1.mdb"; dbUrl="jdbc:microsoft:sqlserver://tsc:1433;user=sa;password=mdzly109;DatabaseName=citi"; con = DriverManager.getConnection(dbUrl); state = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); //执行SQL语句 sql = "select * from testword"; rs = state.executeQuery(sql); }catch(Exception e){e.printStackTrace();} } //将一个文件的内容写入数据库,文件可以为任何类型的文件,如.doc、.txt、.jpg等等 public void WriteFile(String strFileName){ try{ System.out.println("Writing to database... from file:"+strFileName); File myFile=new File(strFileName); InputStream inword=new FileInputStream(myFile); rs.moveToInsertRow(); // moves cursor to the insert row rs.updateString(1,strFileName); //updates the col:1 rs.updateBinaryStream(2,inword,(int)myFile.length());//updates the col:2,input the file's content rs.insertRow(); rs.close(); //closes the ResultSet con.close();//closes the Connection System.out.println("Write to database successfully"); }catch(Exception e){e.printStackTrace();} } //将数据库中的文件数据读到指定的文件中 public void ReadFile(String strFileName){ try{ System.out.println("Reading from database... to file:"+strFileName); rs.last();//for demo,just move the cursor to last OutputStream outword = new FileOutputStream(strFileName); InputStream inword = rs.getBinaryStream(2);//reads the file's content int temp; while((temp=inword.read())!=-1){ outword.write(temp); } outword.close(); System.out.println("Read from database successfully"); }catch(Exception e){e.printStackTrace();} } public static void main(String[] args){ try{ if(args.length<1){ System.out.println("Usage:java DBReadWriteFile aaa.jpg"); System.exit(0); } DBReadWriteFile my=new DBReadWriteFile(); my.WriteFile(args[0]);//测试,写一个文件到数据库中 my=new DBReadWriteFile(); my.ReadFile("new"+args[0]);//测试,从数据库读出文件到指定的文件中 //如果想支持非当前路径文件的话,需要修正"new"+args[0] }catch(Exception e){e.printStackTrace();} }}//End class 关于异常与循环的小小问题 关于JNI在web上应用的问题??? java.sql.SQLException:no suitable driver 两上LIST的值如何进行运算,返回另一个结果LIST JTable,如何设置JTable的Header阴刻浮雕化显示? 替换字符串中的$$为$_$,百分感谢 如何把字符串加到一个.txt文件末尾 初学者的疑惑 大家来看看我这样理解String与String的比较对是不对??有分散哦:))) upcast和extend有什么区别啊 java中有没有延迟函数,就像c中的delay,可以延迟程序的执行 关于线程!如何将定时器放在线程中
http://expert.csdn.net/Expert/topic/1571/1571367.xml?temp=.4020349
//JDBC-数据库中文件的读写.txt//DBReadWriteFile.java
/*
1、目的:
将文件写入数据库,文件可以为任何类型的文件,如.doc、.txt、.jpg等等;
从数据库读文件内容到指定的文件中。
2、样例数据库
a、
数据库类型:Microsoft Access 2000
数据库名称:db1.mdb
表名称: testword
表字段:
字段名称 数据类型
name 文本
content OLE对象
b、
数据库类型:Microsoft SQL Server 2000
数据库名称:citi
表名称: testword
表字段:
字段名称 数据类型
name varchar(10)
content image(16)
3、作者:
[email protected]
*/import java.io.*;
import java.sql.*;public class DBReadWriteFile{
String dbUrl;
String sql;
Connection con;
Statement state;
ResultSet rs;
public DBReadWriteFile(){
try{
//Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
//dbUrl = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=d:\\db1.mdb";
dbUrl="jdbc:microsoft:sqlserver://tsc:1433;user=sa;password=mdzly109;DatabaseName=citi";
con = DriverManager.getConnection(dbUrl);
state = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
//执行SQL语句
sql = "select * from testword";
rs = state.executeQuery(sql);
}catch(Exception e){e.printStackTrace();}
}
//将一个文件的内容写入数据库,文件可以为任何类型的文件,如.doc、.txt、.jpg等等
public void WriteFile(String strFileName){
try{
System.out.println("Writing to database... from file:"+strFileName);
File myFile=new File(strFileName);
InputStream inword=new FileInputStream(myFile);
rs.moveToInsertRow(); // moves cursor to the insert row
rs.updateString(1,strFileName); //updates the col:1
rs.updateBinaryStream(2,inword,(int)myFile.length());//updates the col:2,input the file's content
rs.insertRow();
rs.close(); //closes the ResultSet
con.close();//closes the Connection
System.out.println("Write to database successfully");
}catch(Exception e){e.printStackTrace();}
}
//将数据库中的文件数据读到指定的文件中
public void ReadFile(String strFileName){
try{
System.out.println("Reading from database... to file:"+strFileName);
rs.last();//for demo,just move the cursor to last
OutputStream outword = new FileOutputStream(strFileName);
InputStream inword = rs.getBinaryStream(2);//reads the file's content
int temp;
while((temp=inword.read())!=-1){
outword.write(temp);
}
outword.close();
System.out.println("Read from database successfully");
}catch(Exception e){e.printStackTrace();}
}
public static void main(String[] args){
try{
if(args.length<1){
System.out.println("Usage:java DBReadWriteFile aaa.jpg");
System.exit(0);
}
DBReadWriteFile my=new DBReadWriteFile();
my.WriteFile(args[0]);//测试,写一个文件到数据库中
my=new DBReadWriteFile();
my.ReadFile("new"+args[0]);//测试,从数据库读出文件到指定的文件中
//如果想支持非当前路径文件的话,需要修正"new"+args[0]
}catch(Exception e){e.printStackTrace();}
}
}//End class