怎样让数据库中的两个字段值自动相乘,然后赋值给同一张表中的另外一个字段?

时间:2021-10-26 15:08:33
我使用的是access。我是在winform里面显示出来。请问,如何编写是在winform里编程吗?

14 个解决方案

#1


sql 里能写存储过程,access 得研究一下

#2


引用 1 楼 hebeiliuzhao0909 的回复:
sql 里能写存储过程,access 得研究一下
请问 该如何写代码
给我一串代码吧  大神

#3


比如说表t,有三个int型字段
x int
y int
z int
要求实现 z=x*y

那么,如果是SQL SERVER的话,可以写一个Job定时扫描表t,把x*y的结果赋值给z
Job要做的事情就是:update t set z=x*y where x is not null and y is not null

或者,在表t上建一个触发器,当满足x、y均有值的时候,把x*y的结果更新给z

access不清楚怎么创建Job或者触发器
你可以写一个小程序,定时执行,用这个小程序去刷表t,更新z的值

#4


引用 2 楼 zxm1121299 的回复:
Quote: 引用 1 楼 hebeiliuzhao0909 的回复:

sql 里能写存储过程,access 得研究一下
请问 该如何写代码
给我一串代码吧  大神


引用 3 楼 lovelj2012 的回复:
比如说表t,有三个int型字段
x int
y int
z int
要求实现 z=x*y

那么,如果是SQL SERVER的话,可以写一个Job定时扫描表t,把x*y的结果赋值给z
Job要做的事情就是:update t set z=x*y where x is not null and y is not null

或者,在表t上建一个触发器,当满足x、y均有值的时候,把x*y的结果更新给z

access不清楚怎么创建Job或者触发器
你可以写一个小程序,定时执行,用这个小程序去刷表t,更新z的值


引用 3 楼 lovelj2012 的回复:
比如说表t,有三个int型字段
x int
y int
z int
要求实现 z=x*y

那么,如果是SQL SERVER的话,可以写一个Job定时扫描表t,把x*y的结果赋值给z
Job要做的事情就是:update t set z=x*y where x is not null and y is not null

或者,在表t上建一个触发器,当满足x、y均有值的时候,把x*y的结果更新给z

access不清楚怎么创建Job或者触发器
你可以写一个小程序,定时执行,用这个小程序去刷表t,更新z的值


引用 3 楼 lovelj2012 的回复:
比如说表t,有三个int型字段
x int
y int
z int
要求实现 z=x*y

那么,如果是SQL SERVER的话,可以写一个Job定时扫描表t,把x*y的结果赋值给z
Job要做的事情就是:update t set z=x*y where x is not null and y is not null

或者,在表t上建一个触发器,当满足x、y均有值的时候,把x*y的结果更新给z

access不清楚怎么创建Job或者触发器
你可以写一个小程序,定时执行,用这个小程序去刷表t,更新z的值


引用 3 楼 lovelj2012 的回复:
比如说表t,有三个int型字段
x int
y int
z int
要求实现 z=x*y

那么,如果是SQL SERVER的话,可以写一个Job定时扫描表t,把x*y的结果赋值给z
Job要做的事情就是:update t set z=x*y where x is not null and y is not null

或者,在表t上建一个触发器,当满足x、y均有值的时候,把x*y的结果更新给z

access不清楚怎么创建Job或者触发器
你可以写一个小程序,定时执行,用这个小程序去刷表t,更新z的值
我是access啊 怎么搞啊。我都做到最后了

#5


引用 4 楼 zxm1121299 的回复:
Quote: 引用 2 楼 zxm1121299 的回复:

Quote: 引用 1 楼 hebeiliuzhao0909 的回复:

sql 里能写存储过程,access 得研究一下
请问 该如何写代码
给我一串代码吧  大神


引用 3 楼 lovelj2012 的回复:
比如说表t,有三个int型字段
x int
y int
z int
要求实现 z=x*y

那么,如果是SQL SERVER的话,可以写一个Job定时扫描表t,把x*y的结果赋值给z
Job要做的事情就是:update t set z=x*y where x is not null and y is not null

或者,在表t上建一个触发器,当满足x、y均有值的时候,把x*y的结果更新给z

access不清楚怎么创建Job或者触发器
你可以写一个小程序,定时执行,用这个小程序去刷表t,更新z的值


引用 3 楼 lovelj2012 的回复:
比如说表t,有三个int型字段
x int
y int
z int
要求实现 z=x*y

那么,如果是SQL SERVER的话,可以写一个Job定时扫描表t,把x*y的结果赋值给z
Job要做的事情就是:update t set z=x*y where x is not null and y is not null

或者,在表t上建一个触发器,当满足x、y均有值的时候,把x*y的结果更新给z

access不清楚怎么创建Job或者触发器
你可以写一个小程序,定时执行,用这个小程序去刷表t,更新z的值


引用 3 楼 lovelj2012 的回复:
比如说表t,有三个int型字段
x int
y int
z int
要求实现 z=x*y

那么,如果是SQL SERVER的话,可以写一个Job定时扫描表t,把x*y的结果赋值给z
Job要做的事情就是:update t set z=x*y where x is not null and y is not null

或者,在表t上建一个触发器,当满足x、y均有值的时候,把x*y的结果更新给z

access不清楚怎么创建Job或者触发器
你可以写一个小程序,定时执行,用这个小程序去刷表t,更新z的值


引用 3 楼 lovelj2012 的回复:
比如说表t,有三个int型字段
x int
y int
z int
要求实现 z=x*y

那么,如果是SQL SERVER的话,可以写一个Job定时扫描表t,把x*y的结果赋值给z
Job要做的事情就是:update t set z=x*y where x is not null and y is not null

或者,在表t上建一个触发器,当满足x、y均有值的时候,把x*y的结果更新给z

access不清楚怎么创建Job或者触发器
你可以写一个小程序,定时执行,用这个小程序去刷表t,更新z的值
我是access啊 怎么搞啊。我都做到最后了

上面不是给你答案了吗?
你可以网上搜下access怎么用Job或者触发器。
如果找不到,可以写个小程序,程序定时执行(update t set z=x*y where x is not null and y is not null)。

#6


查询的时候做乘法操作不就好了么,为什么一定要存入数据库呢

#7


引用 6 楼 marswangbo 的回复:
查询的时候做乘法操作不就好了么,为什么一定要存入数据库呢

如果数据量大又要用其做筛选条件,还是要算的。

#8


引用 7 楼 romanchaos 的回复:
Quote: 引用 6 楼 marswangbo 的回复:

查询的时候做乘法操作不就好了么,为什么一定要存入数据库呢

如果数据量大又要用其做筛选条件,还是要算的。

插入数据的时候做计算呗,SQL的话好办,可以有计划作业的,ACCESS功能还是少了点。

#9



 string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=temp.mdb";
            OleDbConnection conn = new OleDbConnection(strConn);
            string select = "";
            DataSet ds = new DataSet();
            select = "select * from table order by ID";
            OleDbDataAdapter da = new OleDbDataAdapter(select, strConn);
            da.Fill(ds);
            int a =Convert.ToInt16(ds.Tables[0].Rows[0][1].ToString());
            int b = Convert.ToInt16(ds.Tables[0].Rows[0][2].ToString());
            int t = a * b;
            string update = "update  table set  z="+ t+ " where id=3";
            OleDbDataAdapter da1 = new OleDbDataAdapter(update, strConn);
            da1.Fill(ds);
            da1.Update(ds);
            conn.Close();




#10


引用 9 楼 wind_cloud2011 的回复:

 string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=temp.mdb";
            OleDbConnection conn = new OleDbConnection(strConn);
            string select = "";
            DataSet ds = new DataSet();
            select = "select * from table order by ID";
            OleDbDataAdapter da = new OleDbDataAdapter(select, strConn);
            da.Fill(ds);
            int a =Convert.ToInt16(ds.Tables[0].Rows[0][1].ToString());
            int b = Convert.ToInt16(ds.Tables[0].Rows[0][2].ToString());
            int t = a * b;
            string update = "update  table set  z="+ t+ " where id=3";
            OleDbDataAdapter da1 = new OleDbDataAdapter(update, strConn);
            da1.Fill(ds);
            da1.Update(ds);
            conn.Close();




你好,我已编好静态类accesshelp,这个怎么弄呢

#11


其实根本没必要有这么一列
你如果想把它作为筛选条件,提高效率,插入数据的时候就直接插入进去啊,这么插入的时候没管,查询的时候反而要修改,麻烦不麻烦

#12


SQL Server里有一种自动计算的列,可以直接在数据库里完成简单的运算,但不知道在Access里有没有,如果没有的话可以添加一个视图来实现,也是很简单的。

#13


access支持sql语句

update yourtbl set aa=bb*cc

#14


数据库连接代码换成你的accesshelp类,方式是一样的

#1


sql 里能写存储过程,access 得研究一下

#2


引用 1 楼 hebeiliuzhao0909 的回复:
sql 里能写存储过程,access 得研究一下
请问 该如何写代码
给我一串代码吧  大神

#3


比如说表t,有三个int型字段
x int
y int
z int
要求实现 z=x*y

那么,如果是SQL SERVER的话,可以写一个Job定时扫描表t,把x*y的结果赋值给z
Job要做的事情就是:update t set z=x*y where x is not null and y is not null

或者,在表t上建一个触发器,当满足x、y均有值的时候,把x*y的结果更新给z

access不清楚怎么创建Job或者触发器
你可以写一个小程序,定时执行,用这个小程序去刷表t,更新z的值

#4


引用 2 楼 zxm1121299 的回复:
Quote: 引用 1 楼 hebeiliuzhao0909 的回复:

sql 里能写存储过程,access 得研究一下
请问 该如何写代码
给我一串代码吧  大神


引用 3 楼 lovelj2012 的回复:
比如说表t,有三个int型字段
x int
y int
z int
要求实现 z=x*y

那么,如果是SQL SERVER的话,可以写一个Job定时扫描表t,把x*y的结果赋值给z
Job要做的事情就是:update t set z=x*y where x is not null and y is not null

或者,在表t上建一个触发器,当满足x、y均有值的时候,把x*y的结果更新给z

access不清楚怎么创建Job或者触发器
你可以写一个小程序,定时执行,用这个小程序去刷表t,更新z的值


引用 3 楼 lovelj2012 的回复:
比如说表t,有三个int型字段
x int
y int
z int
要求实现 z=x*y

那么,如果是SQL SERVER的话,可以写一个Job定时扫描表t,把x*y的结果赋值给z
Job要做的事情就是:update t set z=x*y where x is not null and y is not null

或者,在表t上建一个触发器,当满足x、y均有值的时候,把x*y的结果更新给z

access不清楚怎么创建Job或者触发器
你可以写一个小程序,定时执行,用这个小程序去刷表t,更新z的值


引用 3 楼 lovelj2012 的回复:
比如说表t,有三个int型字段
x int
y int
z int
要求实现 z=x*y

那么,如果是SQL SERVER的话,可以写一个Job定时扫描表t,把x*y的结果赋值给z
Job要做的事情就是:update t set z=x*y where x is not null and y is not null

或者,在表t上建一个触发器,当满足x、y均有值的时候,把x*y的结果更新给z

access不清楚怎么创建Job或者触发器
你可以写一个小程序,定时执行,用这个小程序去刷表t,更新z的值


引用 3 楼 lovelj2012 的回复:
比如说表t,有三个int型字段
x int
y int
z int
要求实现 z=x*y

那么,如果是SQL SERVER的话,可以写一个Job定时扫描表t,把x*y的结果赋值给z
Job要做的事情就是:update t set z=x*y where x is not null and y is not null

或者,在表t上建一个触发器,当满足x、y均有值的时候,把x*y的结果更新给z

access不清楚怎么创建Job或者触发器
你可以写一个小程序,定时执行,用这个小程序去刷表t,更新z的值
我是access啊 怎么搞啊。我都做到最后了

#5


引用 4 楼 zxm1121299 的回复:
Quote: 引用 2 楼 zxm1121299 的回复:

Quote: 引用 1 楼 hebeiliuzhao0909 的回复:

sql 里能写存储过程,access 得研究一下
请问 该如何写代码
给我一串代码吧  大神


引用 3 楼 lovelj2012 的回复:
比如说表t,有三个int型字段
x int
y int
z int
要求实现 z=x*y

那么,如果是SQL SERVER的话,可以写一个Job定时扫描表t,把x*y的结果赋值给z
Job要做的事情就是:update t set z=x*y where x is not null and y is not null

或者,在表t上建一个触发器,当满足x、y均有值的时候,把x*y的结果更新给z

access不清楚怎么创建Job或者触发器
你可以写一个小程序,定时执行,用这个小程序去刷表t,更新z的值


引用 3 楼 lovelj2012 的回复:
比如说表t,有三个int型字段
x int
y int
z int
要求实现 z=x*y

那么,如果是SQL SERVER的话,可以写一个Job定时扫描表t,把x*y的结果赋值给z
Job要做的事情就是:update t set z=x*y where x is not null and y is not null

或者,在表t上建一个触发器,当满足x、y均有值的时候,把x*y的结果更新给z

access不清楚怎么创建Job或者触发器
你可以写一个小程序,定时执行,用这个小程序去刷表t,更新z的值


引用 3 楼 lovelj2012 的回复:
比如说表t,有三个int型字段
x int
y int
z int
要求实现 z=x*y

那么,如果是SQL SERVER的话,可以写一个Job定时扫描表t,把x*y的结果赋值给z
Job要做的事情就是:update t set z=x*y where x is not null and y is not null

或者,在表t上建一个触发器,当满足x、y均有值的时候,把x*y的结果更新给z

access不清楚怎么创建Job或者触发器
你可以写一个小程序,定时执行,用这个小程序去刷表t,更新z的值


引用 3 楼 lovelj2012 的回复:
比如说表t,有三个int型字段
x int
y int
z int
要求实现 z=x*y

那么,如果是SQL SERVER的话,可以写一个Job定时扫描表t,把x*y的结果赋值给z
Job要做的事情就是:update t set z=x*y where x is not null and y is not null

或者,在表t上建一个触发器,当满足x、y均有值的时候,把x*y的结果更新给z

access不清楚怎么创建Job或者触发器
你可以写一个小程序,定时执行,用这个小程序去刷表t,更新z的值
我是access啊 怎么搞啊。我都做到最后了

上面不是给你答案了吗?
你可以网上搜下access怎么用Job或者触发器。
如果找不到,可以写个小程序,程序定时执行(update t set z=x*y where x is not null and y is not null)。

#6


查询的时候做乘法操作不就好了么,为什么一定要存入数据库呢

#7


引用 6 楼 marswangbo 的回复:
查询的时候做乘法操作不就好了么,为什么一定要存入数据库呢

如果数据量大又要用其做筛选条件,还是要算的。

#8


引用 7 楼 romanchaos 的回复:
Quote: 引用 6 楼 marswangbo 的回复:

查询的时候做乘法操作不就好了么,为什么一定要存入数据库呢

如果数据量大又要用其做筛选条件,还是要算的。

插入数据的时候做计算呗,SQL的话好办,可以有计划作业的,ACCESS功能还是少了点。

#9



 string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=temp.mdb";
            OleDbConnection conn = new OleDbConnection(strConn);
            string select = "";
            DataSet ds = new DataSet();
            select = "select * from table order by ID";
            OleDbDataAdapter da = new OleDbDataAdapter(select, strConn);
            da.Fill(ds);
            int a =Convert.ToInt16(ds.Tables[0].Rows[0][1].ToString());
            int b = Convert.ToInt16(ds.Tables[0].Rows[0][2].ToString());
            int t = a * b;
            string update = "update  table set  z="+ t+ " where id=3";
            OleDbDataAdapter da1 = new OleDbDataAdapter(update, strConn);
            da1.Fill(ds);
            da1.Update(ds);
            conn.Close();




#10


引用 9 楼 wind_cloud2011 的回复:

 string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=temp.mdb";
            OleDbConnection conn = new OleDbConnection(strConn);
            string select = "";
            DataSet ds = new DataSet();
            select = "select * from table order by ID";
            OleDbDataAdapter da = new OleDbDataAdapter(select, strConn);
            da.Fill(ds);
            int a =Convert.ToInt16(ds.Tables[0].Rows[0][1].ToString());
            int b = Convert.ToInt16(ds.Tables[0].Rows[0][2].ToString());
            int t = a * b;
            string update = "update  table set  z="+ t+ " where id=3";
            OleDbDataAdapter da1 = new OleDbDataAdapter(update, strConn);
            da1.Fill(ds);
            da1.Update(ds);
            conn.Close();




你好,我已编好静态类accesshelp,这个怎么弄呢

#11


其实根本没必要有这么一列
你如果想把它作为筛选条件,提高效率,插入数据的时候就直接插入进去啊,这么插入的时候没管,查询的时候反而要修改,麻烦不麻烦

#12


SQL Server里有一种自动计算的列,可以直接在数据库里完成简单的运算,但不知道在Access里有没有,如果没有的话可以添加一个视图来实现,也是很简单的。

#13


access支持sql语句

update yourtbl set aa=bb*cc

#14


数据库连接代码换成你的accesshelp类,方式是一样的