javaSQL语句问题Balance更新不了
public void update(int a,String b)
throws SQLException {
try {
Class.forName(driverName);
Connection c=DriverManager.getConnection(dbURL,userName,userPwd);
Statement s=c.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
String Sql="select *from Account wherer AccountID='"+b+"'";
ResultSet rs=null;
rs=s.executeQuery(Sql);
while(rs.next())
{ int balance1 =rs.getInt("Balance");
int k=balance1;
s.executeUpdate("update Account set Balance=k where AccountID='"+b+"'");
s.close();c.close();
}}
catch (ClassNotFoundException e)
{JOptionPane.showMessageDialog( null , "数据更新异常!" ) ;}
}
java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此java语言具有功能强大和简单易用两个特征。java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程 。java具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。java可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等 。
(1)用 preparedstatement ,你用preparedstatement 作为关键字,上网找找。资料一堆一堆的。
(2)String str=””;String sql = "Update a set b=?where sno=’0’";preparedstatement ps = connection.preparestatement(sql);ps.setint(1,str);resultset rs = ps.executequery();
总结: Jdbc中的statement对象用于向数据库发送SQL语句,想完成对数据库的增删改查,只需要通过这个对象向数据库发送增删改查语句即可。Statement对象的executeUpdate方法,用于向数据库发送增、删、改的sql语句,executeUpdate执行完后,将会返回一个整数(即增删改语句导致了数据库几行数据发生了变化)。
Statement.executeQuery方法用于向数据库发送查询语句,executeQuery方法返回代表查询结果的ResultSet对象。