我是初学者 eclipse怎么对数据库中提取单个数据并且对提取的数据加减 求代码详细好吗? 10
2个回答
展开全部
不知道楼主用的什么数据库,我用mysql写了一个非常简单的数据库test并在下面建了一个test表,并写了数据增大的代码,代码很简单。test表
数据库如下:
create table test(
id smallint primary key auto_increment,
asset int not null default 0);
下面是java代码用eclipse写的。
MyDB.java
package db;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class MyDB {
Connection conn;
Statement stmt; //接口,用于静态执行SQL语句并返回执行结构。
ResultSet rs;
String url = "jdbc:mysql://localhost:3306/test"; //连接数据库的url
String user = "root"; //数据库用户名
String pwd = "wakeup05"; //user对应的密码
String SQL_UPDATE;
String SQL_SELECT;
/**
* 增加资产
* @param iNum 增加的资产数
*/
public void UpdateAsset(int id, int iNum) {
try {
new org.gjt.mm.mysql.Driver(); //加载mysql数据库驱动
conn = DriverManager.getConnection(url, user, pwd); //建立连接
stmt = conn.createStatement(); //返回一个statement接口
SQL_SELECT = "SELECT ASSET FROM TEST WHERE ID="+id;
rs = stmt.executeQuery(SQL_SELECT); //执行查询语句
if(rs.next()) { //判断是否查到对应id
int asset=rs.getInt(1); //取出查到的资产值
SQL_UPDATE = "UPDATE TEST SET ASSET='"+(asset+iNum)+"' WHERE ID='"+id+"'";
int i = stmt.executeUpdate(SQL_UPDATE); //执行更新语句
if(0 != i) {
System.out.println("更新成功");;
}
}
else {
System.out.println("id不存在");
}
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Test.java
package test;
import db.MyDB;
public class TestClass {
public static void main(String[] args) {
MyDB myDB = new MyDB();
myDB.UpdateAsset(1, 200);
}
}
使用mysql数据库前要先导入mysql驱动包。楼主可以去网上找,很容易找到的,找到后在File->bulid path->add external archives...进行导入。
如果楼主使用其他数据库,可以建立数据源,如何建立我就不在这里说了,网上有很多教程。不过使用那种方法则要将new org.gjt.mm.mysql.Driver();
改为
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
System.out.println("没有找到驱动程序");
}
直接考的代码,经测试时成功的。这排版楼主将就一下,拷过来就这样了,改了两行不想改了。。。
数据库如下:
create table test(
id smallint primary key auto_increment,
asset int not null default 0);
下面是java代码用eclipse写的。
MyDB.java
package db;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
public class MyDB {
Connection conn;
Statement stmt; //接口,用于静态执行SQL语句并返回执行结构。
ResultSet rs;
String url = "jdbc:mysql://localhost:3306/test"; //连接数据库的url
String user = "root"; //数据库用户名
String pwd = "wakeup05"; //user对应的密码
String SQL_UPDATE;
String SQL_SELECT;
/**
* 增加资产
* @param iNum 增加的资产数
*/
public void UpdateAsset(int id, int iNum) {
try {
new org.gjt.mm.mysql.Driver(); //加载mysql数据库驱动
conn = DriverManager.getConnection(url, user, pwd); //建立连接
stmt = conn.createStatement(); //返回一个statement接口
SQL_SELECT = "SELECT ASSET FROM TEST WHERE ID="+id;
rs = stmt.executeQuery(SQL_SELECT); //执行查询语句
if(rs.next()) { //判断是否查到对应id
int asset=rs.getInt(1); //取出查到的资产值
SQL_UPDATE = "UPDATE TEST SET ASSET='"+(asset+iNum)+"' WHERE ID='"+id+"'";
int i = stmt.executeUpdate(SQL_UPDATE); //执行更新语句
if(0 != i) {
System.out.println("更新成功");;
}
}
else {
System.out.println("id不存在");
}
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Test.java
package test;
import db.MyDB;
public class TestClass {
public static void main(String[] args) {
MyDB myDB = new MyDB();
myDB.UpdateAsset(1, 200);
}
}
使用mysql数据库前要先导入mysql驱动包。楼主可以去网上找,很容易找到的,找到后在File->bulid path->add external archives...进行导入。
如果楼主使用其他数据库,可以建立数据源,如何建立我就不在这里说了,网上有很多教程。不过使用那种方法则要将new org.gjt.mm.mysql.Driver();
改为
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
System.out.println("没有找到驱动程序");
}
直接考的代码,经测试时成功的。这排版楼主将就一下,拷过来就这样了,改了两行不想改了。。。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询