
您好,数据库如下:
create table test(
id smallint primary key auto_increment,
asset int not null default 0);
下面是java代码用eclipse写的。
MyDBjava
package db;
import javasqlConnection;
import javasqlDriverManager;
import javasqlResultSet;
import javasqlSQLException;
import javasqlStatement;
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 orggjtmmmysqlDriver(); //加载mysql数据库驱动
conn = DriverManagergetConnection(url, user, pwd); //建立连接
stmt = conncreateStatement(); //返回一个statement接口
SQL_SELECT = "SELECT ASSET FROM TEST WHERE ID="+id;
rs = stmtexecuteQuery(SQL_SELECT); //执行查询语句
if(rsnext()) { //判断是否查到对应id
int asset=rsgetInt(1); //取出查到的资产值
SQL_UPDATE = "UPDATE TEST SET ASSET='"+(asset+iNum)+"' WHERE ID='"+id+"'";
int i = stmtexecuteUpdate(SQL_UPDATE); //执行更新语句
if(0 != i) {
Systemoutprintln("更新成功");;
}
}
else {
Systemoutprintln("id不存在");
}
connclose();
} catch (SQLException e) {
// TODO Auto-generated catch block
eprintStackTrace();
}
}
}
Testjava
package test;
import dbMyDB;
public class TestClass {
public static void main(String[] args) {
MyDB myDB = new MyDB();
myDBUpdateAsset(1, 200);
}
}
使用mysql数据库前要先导入mysql驱动包。楼主可以去网上找,很容易找到的,找到后在File->bulid path->add external archives进行导入。
如果楼主使用其他数据库,可以建立数据源,如何建立我就不在这里说了,网上有很多教程。不过使用那种方法则要将new orggjtmmmysqlDriver();
改为
try {
ClassforName("sunjdbcodbcJdbcOdbcDriver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
Systemoutprintln("没有找到驱动程序");
}
前提:能进行加减运行的必须是数值类型number,或者是时间类型。字符串类型无法进行加减!
SQL语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统可以使用相同的结构化查询语言作为数据输入与管理的接口。
SQL语言语句可以嵌套,这使他具有极大的灵活性和强大的功能。
掌握了基本的SQL语句语法,就像英语语法一样,就能够对SQL语句运用来去自如!
如果字段‘数量’为数值型 直接用+,-,,/
如果字段‘数量’为非数值型,则转换为数值型,eg:转换为int型 convert(int,‘数量')
或cast('数量' as int)
之后再用+,-,,/
update语句可以搞定,但是需要join配合,
例如,有个表如下,需要将id =999对应的name改为id=1000对应的name
可以这么做:
1
update person t1 join (select id,name from person where id = 1000 limit 1 ) as t2 on t1id <= t2id set t1name = t2name where t1id = 999 and t2id = 1000
修改后的结果
这样就可以了。。
下面是取到amount的和并进行显示的ASP代码, 你参考一下:
----------------------------------
<%
'定义变量
dim sumAmount, dbfile, cn, rs
'初始化sumAmount,存放所有amount的和
sumAmount = 0
'建立数据库连接
dbfile = "数据库文件名(包括完整路径)"
set cn = createobject("adodbconnection")
cnexecute "Provider=MicrosoftJetOLEDB40;Data Source=" & dbfile & ";Persist Security Info=False"
'读取数据
sql = "select sum(amount) from 表名"
set rs = cnexecute(sql)
if not rseof then
sumAmount = rs(0)
end if
rsclose
'断开连接
set rs = nothing
cnclose
set cn = nothing
%>
<html>
<head>
</head>
<body>
所有amount的和是: <%=sumAmount%>
</body>
</html>
--------------------------
1、不是用键值,需要序号数值连续。
2、每次新增记录,对应的序号加一重点在:连续两个字,严格连续序列不保证连续,自增主键也不保证不信。
3、自动增长的,每添加一条数据,自动在上一个记录数上加1(默认)通常用于设置主键,且为整数类型可定义起始值和步长。
以上就是关于易语言提取数据库的数据,并且进行加减计算。求助。。全部的内容,包括:易语言提取数据库的数据,并且进行加减计算。求助。。、sql怎么进行加减乘除运算、mysql中如何对表中的字段值进行加减 *** 作,并赋值.等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)