String str1=booknametext1.getText().trim();
sqlstr2="select bookname,borrow from book where where bookname="+"'"+str1+"'";实现从表中查询字段bookname,borrow
查询条件为booknametext1.getText().trim()的值点击查询后,老提示语法错误,操作付丢失。
路过帮看看,在线等……
sqlstr2="select bookname,borrow from book where where bookname="+"'"+str1+"'";实现从表中查询字段bookname,borrow
查询条件为booknametext1.getText().trim()的值点击查询后,老提示语法错误,操作付丢失。
路过帮看看,在线等……
解决方案 »
- 停止线程
- J2SE发邮件 无法验证用户名密码
- 关于如何人为制造exception异常
- 我写的一个BEAN,但是有问题~大家帮我!
- 定时执行问题?
- 急问如何使用滚动条!!!!!!
- java.util.Date 与java.sql.Date 有什么区别???
- 各位大侠,我刚装了jcreator,编译时提示“You must first create a JDK profile.”请问具体应该如何配置?
- 新学者问:哪个java开发平台好呢?vj?sum的jdk?还是jb?给我指个明路吧?好吗?
- 用JAVA APPLET如何做出股票显示屏的效果?有偿求助!!!
- 求教继承JFrame的窗口,当单击取消时关闭窗口的代码~(在线等……)
- 我曾经面试的一道题
试试看!!
另外帮我看看UPdata语句怎么写?我这样写不对!borrow为用于只可能是两个值中的一个(例如“是/否”、“真/假”、“开/关”)的数据。显示为0或者1.我想把它赋值为0,条件是书名~
sqlstr="UPDATE book SET borrow=0 WHERE bookname='"str1"'";
帮我也解决下~
sqlstr="UPDATE book SET borrow=0 WHERE bookname='"str1"'";
sqlstr="UPDATE book SET borrow=0 WHERE bookname='"+str1+"';";
是这样吗??
update问题解决,感谢哈!为什么是双分号呢?不明白~
但第一个问题照旧啊!
原因是啥??
比如if(result.next())
符号: 变量 strl
位置: 类 borrowout
sqlstr2="select bookname,borrow from book where bookname='"+strl+"'";
^
1 错误
2 警告其实8楼的语句我也试过~提示如上还是不可以啊
* @(#)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();
}
} 付上全部代码,帮忙看看~
if(rest.next())
{
bo=rest.getString("borrow");
}
你查询完根本没移动过游标。
sql语句中不一定要加分号的吧。
{
bo=rest.getString("borrow");
System.out.println(bo);//能输出bo的值是1或者0
if(bo=="1"){JOptionPane.showMessageDialog(null,"book borrow!");
return; }
}语句现在没问题了,原来是中文输入法下的1,导致star1提示没符号!
新问题:if语句里面的对话框没弹出来啊!原因?
if(bo.equals("1")){或者if("1".equals(bo)){
在'abc'里面分别加上一对双引号“”,在双引号里面加上一对加号++,在加号里面就可以写上变量了String sql = " select * from list where name = '"+abc+"' ";