100分求解:java链接mysql后如何在某一个字段里查询匹配的中文数据啊!求大侠写出查询语句。

现在的问题是我用select*fromflightinfo可以把所有数据都查询并显示出来,但是在java里用sql="select*fromflightinfowhere... 现在的问题是我用select * from flightinfo可以把所有数据都查询并显示出来,但是
在java里用sql = "select * from flightinfo where startPlace = '%上海%'";就查不出来了
附上源代码
import java.sql.*;
//import java.com.mysql.jdbc.*;

public class JDBCTest {
public static void main(String[] args) {
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost:3306/airsystem";
String user = "root";
String password = "";
String sql;
Statement statement;
String nameDB = null, sexDB;
String snoDB;

try {
Class.forName(driver).newInstance();
} catch(java.lang.ClassNotFoundException e) {
System.err.print("Sorry,can`t find the Driver!");
System.err.print(e.getMessage());
} catch(Exception e) {
e.printStackTrace();
}

try {
Connection conn = DriverManager.getConnection(url, user, password);
if(!conn.isClosed())
System.out.println("Succeeded connecting to the Database");
statement = conn.createStatement();
sql = "select * from flightinfo where startPlace = '%上海%'";
//String sql = "select time,dID,name,sex,section,title,phone from reservate,doctor where "+
//"dID =ID and pID is null and section='"+sectionComboBox.getSelectedItem()+"'";
ResultSet rs = statement.executeQuery(sql);
System.out.println(" 学号" + "\t" + " 姓名" + "\t" + "性别");
System.out.println("-----------------");
while(rs.next()) {
snoDB = rs.getString(4);
nameDB = rs.getString(5);
sexDB = rs.getString(6);
System.out.println(snoDB + "\t" + nameDB + "\t" + sexDB);
}
statement.close();
conn.close();
} catch(SQLException eSql) {
System.err.print('\n' + "Sorry,can`t find the Connection!");
eSql.printStackTrace();
}
}
}
外加数据库flightinfo的截图
展开
 我来答
老衲用飘柔188
2011-11-24
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
你是想查询字段里包含“上海”俩字的记录吗?这个属于模糊查询,使用 like进行字符串匹配。
%:代表任意长度(长度可以为0)的字符串。
_:代表任意单个字符。
如:select * from flightinfo where startPlace like'%上海%';
pengqinping
2011-11-25
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
不知道你是查询什么东东,如果是查询,地面为上海的信息,可样写
用preparedStatement设置值
sql = "select * from flightinfo where startPlace = ?;
String str= "上海";
preparedStatement ps = conn.prepareStatement(sql);
ps.setString(1,str);
ps.executequary();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
suchjbd
2011-11-26
知道答主
回答量:0
采纳率:0%
帮助的人:0
展开全部
把两个%号去掉就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式