查询数据库 public ArrayList inqueryBouquet(String strBouquetid,String strBouquetname)
{
ArrayList noticeList = new ArrayList();
try{
conn = ConnectionDB.getConnection();
stmt = conn.createStatement();
String sql = "select T_BOUQUET_ID,T_BOUQUET_NAME from TBBOUQUET where T_BOUQUET_ID = '%"+strBouquetid+"%' or T_BOUQUET_NAME = '%"+strBouquetname+"%'";
System.out.println("this is =============>" + sql);
System.out.println("connect to db is successful~~~");
rs = stmt.executeQuery(sql);
while(rs.next()){
NoticeBouquet temp = new NoticeBouquet();
temp.setBouquetid(rs.getString("T_BOUQUET_ID"));
temp.setBouquetname(rs.getString("T_BOUQUET_NAME"));
noticeList.add(temp);
}
return noticeList; }
catch(SQLException e)
{
e.printStackTrace();
return null;
}
}
处理 上面函数的返回值的函数 private function inqueryResultBouquet(result:Object):void
{
if(result.length==0)
{
Alert.show("This is a new ID or Name!","message");
}else{
M_List_Bouquet.dataProvider =null;
M_List_Bouquet.dataProvider = result;
nCount = M_List_Bouquet.dataProvider.length;
}
} 模糊查询 不到结果 SQL语句 应该没有错误吧 高手帮忙看看 是哪里出错目前 不能模糊查询
{
ArrayList noticeList = new ArrayList();
try{
conn = ConnectionDB.getConnection();
stmt = conn.createStatement();
String sql = "select T_BOUQUET_ID,T_BOUQUET_NAME from TBBOUQUET where T_BOUQUET_ID = '%"+strBouquetid+"%' or T_BOUQUET_NAME = '%"+strBouquetname+"%'";
System.out.println("this is =============>" + sql);
System.out.println("connect to db is successful~~~");
rs = stmt.executeQuery(sql);
while(rs.next()){
NoticeBouquet temp = new NoticeBouquet();
temp.setBouquetid(rs.getString("T_BOUQUET_ID"));
temp.setBouquetname(rs.getString("T_BOUQUET_NAME"));
noticeList.add(temp);
}
return noticeList; }
catch(SQLException e)
{
e.printStackTrace();
return null;
}
}
处理 上面函数的返回值的函数 private function inqueryResultBouquet(result:Object):void
{
if(result.length==0)
{
Alert.show("This is a new ID or Name!","message");
}else{
M_List_Bouquet.dataProvider =null;
M_List_Bouquet.dataProvider = result;
nCount = M_List_Bouquet.dataProvider.length;
}
} 模糊查询 不到结果 SQL语句 应该没有错误吧 高手帮忙看看 是哪里出错目前 不能模糊查询
String sql = "select T_BOUQUET_ID,T_BOUQUET_NAME from TBBOUQUET where T_BOUQUET_ID = '%"+strBouquetid+"%' or T_BOUQUET_NAME = '%"+strBouquetname+"%'"; 这个sql 这么写没问题啊 可是为什么查询不到结果呢
把表结构晒下出来吧
有没有错你把sql语句复制到数据库中查查看不就知道了,这样就知道究竟是sql语句的错还是程序的错
(
T_BOUQUET_ID VARCHAR2(20).
T_BOUQUET_NAME VARCHAR2(128)
)
现在出现的是 只输入ID不行 必须 ID和NAME 一起输入 才可以查出来 我sql语句用的是 or 啊 为什么实现的是and呢
_BOUQUET_ID = '%"+strBouquetid+"%' or T_BOUQUET_NAME = '%"+strBouquetname+"%'";
应该是
BOUQUET_ID like '%"+strBouquetid+"%' or T_BOUQUET_NAME like '%"+strBouquetname+"%'";
楼主是不是在执行这个sql之前先判断一下,if(name!= null && !name.equals("")){
就把name作为一个检索条件
}ID也同样。。
StringBuffer buffer = new StringBuffer();
buffer.append("select T_BOUQUET_ID,T_BOUQUET_NAME from TBBOUQUET where ");
if(name!= null && !name.equals("")){
buffer.append("T_BOUQUET_NAME like '%"+ strBouquetname+ "%' ");
}
if(id!= null && !id.equals("")){
buffer.append("and T_BOUQUET_ID like '%"+ strBouquetid+ "%'");
}
String sql = buffer.toString()
思路就这样的,至于这两个检索条件是不是必须至少输入一个,还是都可以不输进行全查询。你自己按照你的需求用js控制一下,或者在修改下sql就可以了。
id 就是 strBouquetid是你页面传过来的。
buffer.append("select T_BOUQUET_ID,T_BOUQUET_NAME from TBBOUQUET where ");
if(strBouquetname!= null && !strBouquetname.equals("")){
buffer.append("T_BOUQUET_NAME like '%"+ strBouquetname+ "%' ");
}
if(strBouquetid!= null && !strBouquetid.equals("")){
buffer.append("and T_BOUQUET_ID like '%"+ strBouquetid+ "%'");
}
String sql = buffer.toString();这个 可以 实现 单独 输入 Name的查询 单独输入 ID 还是不行