易语言提取数据库的数据,并且进行加减计算。求助。。 10
想提取数据库A中ID为01的“数量”的全部字段,然后把这些字段变成整数型,然后加到一起。再提取数据库B中ID为01的“数量2”的字段(这个就一个记录),然后变成整数型,用...
想提取数据库A中ID为01的“数量”的全部字段,然后把这些字段变成整数型,然后加到一起。
再提取数据库B中ID为01的“数量2”的字段(这个就一个记录),然后变成整数型,用这个数减去上面那个和数。
得到的数再变成文本弄到数据库B中ID为01的“剩余”的字段中。
我觉得思路大概就是这样的,但是我不会写啊..... 求问大神怎么写。。。 谢谢。
问题有错误,不是数据库A和数据库B 而是一个数据库下的表格A和表格B。 展开
再提取数据库B中ID为01的“数量2”的字段(这个就一个记录),然后变成整数型,用这个数减去上面那个和数。
得到的数再变成文本弄到数据库B中ID为01的“剩余”的字段中。
我觉得思路大概就是这样的,但是我不会写啊..... 求问大神怎么写。。。 谢谢。
问题有错误,不是数据库A和数据库B 而是一个数据库下的表格A和表格B。 展开
展开全部
您好,数据库如下:
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("没有找到驱动程序");
}
追问
易语言啊。不是java
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询