代码如下:
import java.io.*;
import java.io.File;
import java.io.FileInputStream;
import java.sql.*;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.lang.*;
import java.util.*;public class test {
public static String UnicodeToGB(String strSource){
try{
return new String(strSource.getBytes("gb2312"), "ISO8859_1");
}
catch (Exception e){
return strSource;
}
}
public static void main(String[] args){
//String strURL = "jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=zhuwenjie";
String strURL = "jdbc:microsoft:sqlserver://10.1.1.13:1433;DatabaseName=zk";
String strUserID = "sa";
//String strPassWord = "sa";
String strPassWord = "master.sicpa"; Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
RandomAccessFile rf = null; String SQL = "";

try{
try{
Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
conn = DriverManager.getConnection(strURL,strUserID,strPassWord);
stmt = conn.createStatement();
}
catch(SQLException e){
e.printStackTrace();
}

System.out.println("hello world");
try{
String strSql = "select * from Documents where docid = 13701";
String strDocBody = "";

rs = stmt.executeQuery(strSql);
if(rs.next()){
strDocBody = rs.getString("docbody");
} System.out.println(strDocBody);
rf = new RandomAccessFile("test_New.Log", "rw");
rf.seek(rf.length());
rf.writeBytes(UnicodeToGB(strDocBody));

if(stmt!=null)stmt.close();
if(conn!=null)conn.close(); }
catch(Exception se){
System.out.println(se);
}
}catch(Exception ex){
System.out.println(ex);
}
}
}以上是连接Access数据库,并输出字段值。
现出现问题字段"docbody"的值只能输出一部分,还有一部分没有输出,也没有报错。
docbody 字段类型为"备注"
还有一些不知为什么输不出来。
然手工在字段docbody里多加少一些字符就能全部输出了。
不知是什么问题