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()的值点击查询后,老提示语法错误,操作付丢失。
路过帮看看,在线等……
解决方案 »
- 关于netbeans写JAVA构建后单独运行.jar文件出现JDBC的连接错误的问题
- 项目中数据库统计数问题
- 求相同字符串,不同hashcode的方法
- System.out.println("aa|bb|cc".split("|").length); 的结果为什么是9不是3?
- java如何取得7天前的系统时间?
- 源文件编译成jar包的问题
- [求助]关于native method得编译错误
- 如何利用反射调用构造函数
- 我用getKeyTyped()得到当前按下的按键,想让不符合要求的按键忽略掉,像没按一样,不知怎么做
- 那里有java--struts的中文资料或书籍?xiexie!!
- 求教继承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+"' ";