初弄JAVA.试着做了一个基于GUI的图形查询数据库小程序.有点问题.加了条件就出错了.
在此求点经验.
图形上面有一个JTextArea\jbutton
两个jtextFile.
数据库是连上了.
在数据库里面我写了
jtextfile text001 = new jtextfile();
jtextfile text002 = new jtextfile();
String text000 ="Select * from demo where a="+text001.getText()+"
And b="+text002.getText()+"";
jtextarea textarea = new jtextarea(text000);
我想这样肯定不对.开始是为空.初始后就得不到数据了.
ResultSet resultSet;
resultSet = statement.executeQuery(textarea );在此想问问怎么才能判断成功呢.^v^
初次弄java请大哥们指教点啊.
点jbutton的时候是执行resultSet这里的东西.而以jtable显示出数据.
如果没有加那条件是可以显示出来的.如果加就不怎么清楚.
请教了.谢谢你们啊.
希望提供点资料
谢谢

解决方案 »

  1.   

    resultSet = statement.executeQuery(textarea );为什么要传组件对象啊?传text000进去就可以了,
      

  2.   

    这么说就不可以传组件对象.只能传值吗?
    jtextarea根本就不用了啊.是不?
      

  3.   

    你的sql语句写得有问题,
    select * from demo where a='"+text001.getText()+"' And b='"+text002.getText()+"'";
      

  4.   

    resultSet = statement.executeQuery(textarea );中应该是Connection对象吧而不死statement
    还有你的SQL语句如楼上所说
      

  5.   

    楼上说的不对,就是statement对象
      

  6.   

    好象是这个意思.不过改了一下\使用PreparedStatement来执行.可是在判断的时候还是有错.
    真不知道那里错了.一开始有个JTEXTFILE框来接受用户所输入的数据进行判断.
    Connection conn;
    JTextFile text;
    PreparedStatement pstatement;
    conn = getConnectionData().getConnection();
    ResultSet resultSet;
    String sql=(String)text.getText();
    String sql_="select * from text where name=?";if(!sql.equals(""))
    {
      if(pstatement==null)
      {
        pstatement = conn.prepareStatement(sql_);
      }
      pstatement.setString(1,sql);
     resultSet = pstatement.executeQuery();
    } else{
      JOptionPane.showMessageDialog(null, "error");
    }
    while(resultSet.next())
    {
      ....
    }
    我想这样应该是可以判断的.可是运行程序的时候为什么一直显示else里面的东西.而IF里面根本就没有执行/
      

  7.   

    哦.知道了.是在pstatement.setString(1,sql);
    这里的时候需要用
    pstatement.setString(1, "'"+date001+"'");
    这样是不?
      

  8.   

    如果用的PreparedStatement就不需要单引号了
    如果用的Statement就要单引号
    我是菜鸟,如有错误请原谅!
      

  9.   

    if(pstatement==null)
    这句是没有意义的。
    使用字符串拼接SQL语句时VarChar类型要用'(单引号)引起来,使用PreparedStatement的setXXX()的时候,不需要引号。
      

  10.   

    判断好像能成功了.只是在JTABLE里面显示的时候怎么会显示重复的记录\这到有点郁闷的.