发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 CQRS 扩展性 并发编程 事件溯源 分布式 SOA
1 2 下一页 Go 2

SQL "like" 操作符的问题

2002-11-06 10:54
赞助商链接

请教各位大侠:下面的SQL语句经过JDBC/ODBC为何取不到数据?
"select customer from cus where cus_no like 'CM%'"
上面的语句直接查询数据库可以成功, 请教各位这是什么原因?

2002-11-12 13:14

可以吧

2002-11-13 09:21

很抱歉, 我的问题描述错了. 应该是这样的:
当直接用select top 10 * from cus where cus_no like 'CM%'查询时
可以查询到记录, 但将'CM%'换成? 就查询不到记录, 请高人指教!!!
源代码如下:

import java.sql.*;

public class JdbcTest{
public static void main(String[] args) throws Exception{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection(
"jdbc:odbc:ikari","123", "123");

String sql =
"select top 10 * from cus where"+
" cus_no like ?";//'CM%'";
//String sql = "select top 10 datename(m, date)"+
" from bsr";
PreparedStatement pstmt = con.prepareStatement(sql);

pstmt.setString(1,
"CM%");

ResultSet rs = pstmt.executeQuery();
while (rs.next()){
System.out.println(rs.getObject(1));
}
}
}


另外我不碰到一个问题:下面的语句
select top 10 datename(m, date) from bsr 直接通过数据库查询可得
到10条记录, 在程序中通过Jdbc/Odbc查询也可得到10条记录但
记录中的结果却全为null, 见上面注释掉的代码,
这是为什么呢???

2002-11-13 12:40

你的sql语句应该这样写


select top 10 * from cusrom cus where cus_no like ?

2002-11-13 13:17

如果你的记录行如
CM01,CM01/02,cm\0304(冠军足球经理:)
用cm?当然不匹配,?只能泛指一个符号。

2Go 1 2 下一页

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系管理员 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com