可能是jdbc-odbc中文支持问题,
有没有程序代码啊,贴出来大家参考一下,
也可以去查找相关帖子

解决方案 »

  1.   

    "swat" 的程序例子
    //------------------------------------------------
    import java.sql.*;
    import java.io.*;
    public class ReadDB{  public static void ListDatas(){
        int i,nc;
        try{
         Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            //生成连接对象
         Connection conect=DriverManager.getConnection ("jdbc:odbc:MYDB");    // MYDB 为数据库
         Statement stmt=conect.createStatement ();
         //SQL 命令行
         String sSqlCmd=null;
         ResultSet rs=null;
         sSqlCmd="SELECT * FROM tabUser WHERE uName='小李'";
         rs=stmt.executeQuery (sSqlCmd);
         ResultSetMetaData rsmd=rs.getMetaData ();
         nc=rsmd.getColumnCount ();                   //得到列数
         while(rs.next()){
              for(i=1;i<=nc;i++)
             System.out.print(rs.getString (i)+ " ");
              System.out.println ();
         }
        }catch(Exception e){ 
    e.printStackTrace();
        }
      }
      public static void main(String[] argv){
    ListDatas();
      }}
    //-------------------------------------------------------
    产生的错误如下:
    java.sql.SQLException: [Microsoft][ODBC Microsoft Access  驱动程序] 字符串的语法错误 在查询表达式 'uName='小李 中。?????????????
      

  2.   

    fireworld ,好象用 "=:" 没用啊?
      

  3.   

    这样改试一下:
    sSqlCmd="SELECT * FROM tabUser WHERE uName=\'小李\'";
      

  4.   

    是用sSqlCmd="SELECT * FROM tabUser WHERE uName=\"小李\""; 
      

  5.   

    或用sSqlCmd="SELECT * FROM tabUser WHERE uName=小李"; 
      

  6.   

    sSqlCmd="SELECT * FROM tabUser WHERE uName="+'"'+"小李"+'"';
    保证正确,你试试
      

  7.   

    TO : hexiaofeng(java爱好者) 
    你怎么知道他是要将这句付值给变量啊!
    不过,我觉得你讲对了。