asp向sql数据库如何修改同一字段某部分内容而不是改写
数据库中“flag”字段为:01,02,03如何在用:rs("flag")时只修改01;02,03不变,希望可以单独修改每一个值,而不是一起改写。那段代码可以执行,但字段...
数据库中“flag”字段为:01,02,03
如何在用:rs("flag")时只修改01;
02,03不变,希望可以单独修改每一个值,而不是一起改写。
那段代码可以执行,但字段里的值都被清除,变成只有01了。我要的功能是点击A按钮,将"flag"字段的第一个数变成“01”,点击B按钮,将"flag"字段的第二个数变成“02”,点击C按钮,将"flag"字段的第三个数变成“03”,点击D按钮,将"flag"字段清空变成“00”。先谢谢你的回答!
flag字段默认为0,不一定01,02,03都在,下面的方式一直不行,不知道怎样改一下可以?
<%
set rs=server.createobject("adodb.recordset")
sql="select flag from mytable where id="&request("id")&""
rs.open sql,conn,3,3
rs("flag")="01"
rs.update
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
谢谢上面qijie81的回答,能不能具体一些呀? 展开
如何在用:rs("flag")时只修改01;
02,03不变,希望可以单独修改每一个值,而不是一起改写。
那段代码可以执行,但字段里的值都被清除,变成只有01了。我要的功能是点击A按钮,将"flag"字段的第一个数变成“01”,点击B按钮,将"flag"字段的第二个数变成“02”,点击C按钮,将"flag"字段的第三个数变成“03”,点击D按钮,将"flag"字段清空变成“00”。先谢谢你的回答!
flag字段默认为0,不一定01,02,03都在,下面的方式一直不行,不知道怎样改一下可以?
<%
set rs=server.createobject("adodb.recordset")
sql="select flag from mytable where id="&request("id")&""
rs.open sql,conn,3,3
rs("flag")="01"
rs.update
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
谢谢上面qijie81的回答,能不能具体一些呀? 展开
1个回答
展开全部
如果已经用的rs("flag")取出来数据,那就用replace函数把01替换成想要的字符,然后再写回去
或者直接用一句sql语句
UPDATE 表名 SET flag=REPLACE(flag,'01','你要替换的值')
________________________________________
上边只是说了一下方法,具体运用还得看具体情况,那你说一下什么情况替换哪一部分值,我帮你想一下
那段代码不能执行的话,提示什么错误啊?
__________________________________________
不知道你的业务逻辑什么样的,不过感觉这样设计数据库并不很合理,让很多操作很难去做,按照你的说法大概写了一下,我假定flag字段清空的时候是00,00,00了,如果必须是00的话中间加句判断就行了,大概写了一下,你拷过去调试一下
<%
set rs=server.createobject("adodb.recordset")
sql="select flag from mytable where id="&request("id")&""
rs.open sql,conn,3,3
'***********************************************************
arrFlag = Split(rs("flag"),",")'flag这个字段默认值应该是00,00,00
If(request("btn") ="A") Then '判断用户点击了哪个按钮,记得在你的页面的几个按钮加一个传递参数的语句
arrFlag(0) = "01" '如果点击A按钮则第一部分设置为01
ElseIf (request("btn") ="B") Then
arrFlag(1) = "02" '如果点击A按钮则第二部分设置为02
ElseIf (request("btn") ="C") Then
arrFlag(2) = "03" '如果点击A按钮则第三部分设置为03
End If
If(request("btn") <>"D") Then '修改成功后合并并写入
rs("flag") = Join(arrFlag,",")
Else
rs("flag") = "00,00,00" '如果点击D按钮,则全部清零
End If
'***********************************************************
rs.update
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
或者直接用一句sql语句
UPDATE 表名 SET flag=REPLACE(flag,'01','你要替换的值')
________________________________________
上边只是说了一下方法,具体运用还得看具体情况,那你说一下什么情况替换哪一部分值,我帮你想一下
那段代码不能执行的话,提示什么错误啊?
__________________________________________
不知道你的业务逻辑什么样的,不过感觉这样设计数据库并不很合理,让很多操作很难去做,按照你的说法大概写了一下,我假定flag字段清空的时候是00,00,00了,如果必须是00的话中间加句判断就行了,大概写了一下,你拷过去调试一下
<%
set rs=server.createobject("adodb.recordset")
sql="select flag from mytable where id="&request("id")&""
rs.open sql,conn,3,3
'***********************************************************
arrFlag = Split(rs("flag"),",")'flag这个字段默认值应该是00,00,00
If(request("btn") ="A") Then '判断用户点击了哪个按钮,记得在你的页面的几个按钮加一个传递参数的语句
arrFlag(0) = "01" '如果点击A按钮则第一部分设置为01
ElseIf (request("btn") ="B") Then
arrFlag(1) = "02" '如果点击A按钮则第二部分设置为02
ElseIf (request("btn") ="C") Then
arrFlag(2) = "03" '如果点击A按钮则第三部分设置为03
End If
If(request("btn") <>"D") Then '修改成功后合并并写入
rs("flag") = Join(arrFlag,",")
Else
rs("flag") = "00,00,00" '如果点击D按钮,则全部清零
End If
'***********************************************************
rs.update
rs.close
set rs=nothing
conn.close
set conn=nothing
%>
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询