String str1=booknametext1.getText().trim();
sqlstr2="select bookname,borrow from book where where bookname="+"'"+str1+"'";实现从表中查询字段bookname,borrow 
查询条件为booknametext1.getText().trim()的值点击查询后,老提示语法错误,操作付丢失。
路过帮看看,在线等……

解决方案 »

  1.   

    sqlstr2="select bookname,borrow form book where bookname='"+strl+"'";
    试试看!!
      

  2.   

    先谢谢,等我试试哈!
    另外帮我看看UPdata语句怎么写?我这样写不对!borrow为用于只可能是两个值中的一个(例如“是/否”、“真/假”、“开/关”)的数据。显示为0或者1.我想把它赋值为0,条件是书名~
    sqlstr="UPDATE book SET borrow=0 WHERE bookname='"str1"'";
    帮我也解决下~
      

  3.   

    太不细致了!
    sqlstr="UPDATE   book   SET   borrow=0   WHERE   bookname='"str1"'"; 
    sqlstr="UPDATE   book   SET   borrow=0   WHERE   bookname='"+str1+"';"; 
      

  4.   

    楼上,那个select语句的?问题如我五楼所说~
      

  5.   

    sqlstr2="select   bookname,borrow   from   book   where   bookname=' "+strl+" ' "; 
    是这样吗??
      

  6.   

    六楼:
    update问题解决,感谢哈!为什么是双分号呢?不明白~
    但第一个问题照旧啊!
    原因是啥??
      

  7.   

    你在执行了查询之后有没有判断并提取查询结果?
    比如if(result.next()) 
      

  8.   

    第一个分号是sql语句查询的分号,第二个是java代码的分号。
      

  9.   

    D:\java\JCreatorV4\MyProjects\bookadmin\src\borrowout.java:38: 找不到符号
    符号: 变量 strl
    位置: 类 borrowout
                            sqlstr2="select bookname,borrow from book where bookname='"+strl+"'";
                                                                                                ^
    1 错误
    2 警告其实8楼的语句我也试过~提示如上还是不可以啊
      

  10.   

    /**
     * @(#)ReaderAdd.java
     *
     *
     * @author Administrator
     * @version 1.00 2008/1/5
     */
     import java.awt.*;
     import java.awt.event.*;
     import javax.swing.*;
     import javax.swing.event.*;
     import java.sql.*;      public class borrowout extends JFrame implements ActionListener{
          private JButton rad_add1,rad_clear1;
          private JLabel bookname1,borrowcard1;
          private JTextField booknametext1,borrotcardtext1;
          private JFrame frame2;
          private Connection con;
      private Statement stmt,stmt2;
      private String sqlstr,sqlstr2;
          private ResultSet rest;
        public void actionPerformed(ActionEvent e){
         try{ 
                 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
                    }catch(java.lang.ClassNotFoundException e1){ 
                     JOptionPane.showMessageDialog(this,"not fand eorr!:"+e1,"",JOptionPane.ERROR_MESSAGE); 
                    } 
                   
            try{  if(e.getSource()==rad_add1){
                if(booknametext1.getText().trim().equals("")|borrotcardtext1.getText().trim().equals("")){
                 JOptionPane.showMessageDialog(this,"bookname or borrotcard not null!");
                
                } else { String url="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=bookadmini.mdb"; 
                            con=DriverManager.getConnection(url,"user","1234"); 
                         String str1=booknametext1.getText().trim();
                         String str2=borrotcardtext1.getText().trim();
                         sqlstr2="select bookname,borrow from book where bookname='"+strl+"'";//问题就是这,然后根据结果集中,borrow是0或者是1判断图书是否借出
                         stmt2=con.createStatement();
                         rest=stmt2.executeQuery(sqlstr2);
                         String bo=rest.getString("borrow");
                          if(bo=="1"){JOptionPane.showMessageDialog(this,"book borrow!");}
                          
                         else{
                
                         
                         sqlstr="insert into borrout(bookname,borrowcard)values('"+str1+"','"+str2+"')";
                         stmt=con.createStatement();
                         stmt.executeUpdate(sqlstr);
                         JOptionPane.showMessageDialog(this,"borrow is good!"); }
                 }
             } else if(e.getSource()==rad_clear1){System.exit(0);}
            
            
                  } catch(Exception ex){JOptionPane.showMessageDialog(this,ex.getMessage(),"error",JOptionPane.ERROR_MESSAGE); }
                finally{   
                            try{stmt.close();}catch(Exception ex){}
                            try{con.close();}catch(Exception ex){}
                            }  
                    
         }
         
         
        public borrowout() {
               JFrame.setDefaultLookAndFeelDecorated(true);
              frame2=new JFrame("读者借书");
              frame2.setLayout(new GridLayout(3,2,20,20));
              
              rad_add1=new JButton("确定");
              rad_clear1=new JButton("取消");
              bookname1=new JLabel("图书名称");
              borrowcard1=new JLabel("借书证号");
              booknametext1=new JTextField();
              borrotcardtext1=new JTextField();
              frame2.add(bookname1);
              frame2.add(booknametext1);
              frame2.add(borrowcard1);
              frame2.add(borrotcardtext1);
              frame2.add(rad_add1);
              frame2.add(rad_clear1);
              
              rad_add1.addActionListener(this);
              rad_clear1.addActionListener(this);
              
              frame2.pack();
       frame2.setLocationRelativeTo(null);
       frame2.setSize(400,250);
       frame2.setVisible(true);
        }
       
        public static void main(String[]args)

      new borrowout();
     
        }  
    } 付上全部代码,帮忙看看~
      

  11.   

    在rest=stmt2.executeQuery(sqlstr2);这行之后加上
    if(rest.next())
    {
       bo=rest.getString("borrow");
    }
    你查询完根本没移动过游标。
      

  12.   

    “第一个分号是sql语句查询的分号,第二个是java代码的分号”
    sql语句中不一定要加分号的吧。
      

  13.   

    if(rest.next()) 
                                       { 
                                        bo=rest.getString("borrow"); 
                                        System.out.println(bo);//能输出bo的值是1或者0
                                        if(bo=="1"){JOptionPane.showMessageDialog(null,"book borrow!");
                                        return;  }
    }语句现在没问题了,原来是中文输入法下的1,导致star1提示没符号!
    新问题:if语句里面的对话框没弹出来啊!原因?
      

  14.   

    if(bo=="1"){-〉
    if(bo.equals("1")){或者if("1".equals(bo)){
      

  15.   

    在 java 里,如果将一个SQL语句传送到数据库,那么,先将这个SQL语句在 企业管理器里运行,通过后复制出来,例如在企业管理器里的sql语句为:select * from list where name = 'abc'那么把这句话复制到java里,abc在java里就因该是需要写入的变量,
    在'abc'里面分别加上一对双引号“”,在双引号里面加上一对加号++,在加号里面就可以写上变量了String sql = " select * from list where name = '"+abc+"' ";