请问:用Jdbc-Odbc 访问Access数据库时,SQL查询语句的条件值不能用汉字怎么办? 可能是jdbc-odbc中文支持问题,有没有程序代码啊,贴出来大家参考一下,也可以去查找相关帖子 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 "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='小李 中。????????????? fireworld ,好象用 "=:" 没用啊? 这样改试一下:sSqlCmd="SELECT * FROM tabUser WHERE uName=\'小李\'"; 是用sSqlCmd="SELECT * FROM tabUser WHERE uName=\"小李\""; 或用sSqlCmd="SELECT * FROM tabUser WHERE uName=小李"; sSqlCmd="SELECT * FROM tabUser WHERE uName="+'"'+"小李"+'"';保证正确,你试试 TO : hexiaofeng(java爱好者) 你怎么知道他是要将这句付值给变量啊!不过,我觉得你讲对了。 讨论下:JAVA实现打印的最优方法是什么? 生成四位编码的循环 我的单子模式为什么不行?!各位大哥请帮忙看一下! 帮忙看一下这个程序,为什么程序在调用t.start()后,没再返回到main()继续运行呢? 有没有用过假离职证明的? 在线等!谢谢!! java类似于百度搜索引擎的功能 求高手帮忙查错 用servlet来传输中文字符串,发现get出来的全部是??????????????,怎么解决? 怎样在字符串后插入一个字符串,要永久改变的(在线等) 为什么我在Applet程序中,执行会没反应? bas4.5是干什么用的呀?不要见笑
//------------------------------------------------
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='小李 中。?????????????
sSqlCmd="SELECT * FROM tabUser WHERE uName=\'小李\'";
保证正确,你试试
你怎么知道他是要将这句付值给变量啊!
不过,我觉得你讲对了。