sql查询的简单问题
我在执行以下语句时出错,不知道原因,请搞人指点:
String driverName = "sun.jdbc.odbc.JdbcOdbcDriver";
String sourceURL = "jdbc:odbc:yuliao";
Class.forName (driverName);
databaseConnection = DriverManager.getConnection(sourceURL);
Statement myStatement = databaseConnection.createStatement();
String characters="上海"
ResultSet myResults = myStatement.executeQuery("SELECT frequency FROM yuliao WHERE keyword=characters");
出错提示:
SQL Exception:java.sql.SQLException:[Microsoft][ODBC SQL Server Driver][SQL Server]列名'characters'无效
另外,我使用的是sql2000
问题点数:50、回复次数:6Top
1 楼wavecheng(CryingOwl)回复于 2002-09-16 22:04:23 得分 15
ResultSet myResults = myStatement.executeQuery("SELECT frequency FROM yuliao WHERE keyword= '"+characters"'");
加上单引号。。。。。。Top
2 楼namowen(寒号不已)回复于 2002-09-16 22:05:47 得分 15
这句应该这么写:
ResultSet myResults = myStatement.executeQuery("SELECT frequency FROM yuliao WHERE keyword = '" + characters + "'");Top
3 楼lg15x(花石)回复于 2002-09-16 22:09:14 得分 5
namowen(寒号不已)
写的正确。Top
4 楼ljjjx(淡水鱼)回复于 2002-09-16 22:15:19 得分 0
那么这句话是不是也不正确?再次请教
myStatement.executeQuery("INSERT into yuliao (keyword,frequency) values (characters ,1) ");Top
5 楼ljjjx(淡水鱼)回复于 2002-09-16 22:32:31 得分 0
希望大家指教,up一下Top
6 楼namowen(寒号不已)回复于 2002-09-16 22:39:08 得分 15
一样的,也要加上':
myStatement.executeQuery("INSERT into yuliao (keyword,frequency) values ('" + characters + "',1) ");
这是因为SQL中的字符串需用''来标识。而把characters从""中拿出,是因为它是变量,要加入到字符串中的是它的值。Top




