ASP中使用MSSQL数据库,要更新的数据类型是Decimal,传入的数据类型是Int,请问大神

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ASP中使用MSSQL数据库,要更新的数据类型是Decimal,传入的数据类型是Int,请问大神相关的知识,希望对你有一定的参考价值。

ASP中使用MSSQL数据库,要更新的数据类型是Decimal,传入的数据类型是Int,请问大神如何可以把Decimal类型和Int类型相加?想要得到的结果是Decimal类型,直接相加提示错误 '800a000d' 类型不匹配
我的代码
dim OrderAmount
OrderAmount=501
OrderAmount=cdbl(OrderAmount)
strsql="select * from memlst where u_nme='nme'"
rs100.open strsql,conn,1,1
dim v_mnyavl,v_mnyrmn
v_mnyavl=rs100("u_mnyavl") + OrderAmount
v_mnyrmn=rs100("u_mnyrmn") + OrderAmount
rs100.close

strsql="update memlst set u_mnyavl="&v_mnyavl&",u_mnyrmn="&v_mnyrmn&" where u_nme='nme'"
rs100.open strsql,conn,3,3
response.Write "OK"

其中u_mnyavl和u_mnyrmn在数据库里都是Decimal类型

现在还是提示类型错误

试一下用SQL来计算
dim OrderAmount
OrderAmount=501
OrderAmount=cdbl(OrderAmount)
strsql="select * from memlst where u_nme='nme'"
rs100.open strsql,conn,1,1
dim v_mnyavl,v_mnyrmn
v_mnyavl= OrderAmount
v_mnyrmn= OrderAmount
rs100.close

strsql="update memlst set u_mnyavl=u_mnyavl+cast("&v_mnyavl&" as decimal(16.6)),u_mnyrmn=u_mnyrmn+cast("&v_mnyrmn&" as decimal(16,6)) where u_nme='nme'"
rs100.open strsql,conn,3,3
response.Write "OK"
参考技术A 把int用cdbl转一下追问

代码已补,请赐教

知识点sql注入解析数据库类型

mysql、mssql和oracle数据库都有自己特有的一些命令,我们可以根据它们确定我们要注入的数据库类型。mysql与mssql中select @@version返回当前数据库的版本,oracle中 select banner from v&version 返回数据库版本。 不同数据库构造字符串的访问也不一样。如,要构造字符串“yeetrack”, oracle 中的命令是 ‘yee’||’track’ ,mssql中的命令是 ‘yee’+'track’,mysql中的命令是 ‘yee’ ‘track’,中间是个空格。

Oracle数据库:

1.、对于一个查询的URL,例如http://www.yeetrack.com/wordpress/?p=54,首先试探这个URL需要返回的列数,构造URL http://www.2cto.com /wordpress/?p=54%20union%20select%20null%20from%20dual–,查看返回结果,如果错误说明返回列数不为1,增加null的个数,http://www.yeetrack.com/wordpress/?p=54%20union%20select%20null%20null%20from%20dual–,直到结果不发生错误为止。

2、 确定了返回的列数,再来确认每一列的类型,依次将null改为’a',查看返回结果,返回a则正确;出现异常再修改’a'的位置,直到正确为止。

3、找到了一个正确的类型,就可以探测数据库的信息了。查询当前用户拥有的数据库的全部对象,select object_name, object_type from user_object.根据返回的信息,找到感兴趣的表,再探测该表的列。select column_name from user_tab_columns where table_name=’tablename’, 最后探测该表的数据, select username, password from user–

MSSQL数据库:

1、 同oracle数据库。

2、 同oracle数据库。

3、 探测数据库的信息,select name from sysobjects–,找到感兴趣的表,就可以提出表的字段和信息了。


更多测试招聘资讯,请关注光荣之路微信公众账号:gloryroadtrain


以上是关于ASP中使用MSSQL数据库,要更新的数据类型是Decimal,传入的数据类型是Int,请问大神的主要内容,如果未能解决你的问题,请参考以下文章

asp读取MSSQL数据库中某个字段的值

asp.net中,如何调用系统时间作参数传到数据库中(DataTime类型)

ASP.net (C#)如何检查数据库内容是不是更新?

使用 MSSQL 和 MySQL 数据库作为实体框架 6 模型

MSSQL更新数据,某主键存在则更新,不存在则插入

在更改数据库表后更新模型类