标题:select值插入问题
取消只看楼主
craft001wen
Rank: 2
等 级:论坛游民
帖 子:242
专家分:62
注 册:2006-5-4
 问题点数:0 回复次数:6 
select值插入问题

以下代码,我在提交时,没有提示出错,但是插入的select中的“resenduser”到表里,后发现是空值,大家帮帮忙!
<% if request("editsignfile")="转发" then
userid=request.form("userid")
resenduser=request.form("resenduser")
set conn=opendb("oabusy","conn","accessdsn")
set rs1=server.createobject("adodb.recordset")
sql = "update signfile set "
sql = sql & "resenduser=" & SqlStr(resenduser) & "where userid='"&userid&"'"
conn.Execute sql
response.write("转发成功!")
end if
%>
<form action="sendfile.asp" method="post">
<table align="center">
<tr>
<td>
<select name="resenduser">
<option selected>请选择转发人</option>
<% set conn=opendb("oabusy","conn","accessdsn")
set rsname=server.createobject("adodb.recordset")
sql="select distinct name from userinf"
rsname.open sql,conn,1,1
do while not rsname.eof and not rsname.bof %>
<option value="<%=rsname("name")%>" ><%=rsname("name")%></option>
<% rsname.movenext
loop %>
</select>
</td>
</tr>
</table>
</form>

搜索更多相关主题的帖子: select 
2006-06-02 15:37
craft001wen
Rank: 2
等 级:论坛游民
帖 子:242
专家分:62
注 册:2006-5-4
得分:0 
以下是引用craft001wen在2006-6-2 15:37:00的发言:

以下代码,我在提交时,没有提示出错,但是插入的select中的“resenduser”到表里,后发现是空值,大家帮帮忙!
<% if request("editsignfile")="转发" then
userid=request.form("userid")
resenduser=request.form("resenduser")讲求的值在这!
set conn=opendb("oabusy","conn","accessdsn")
set rs1=server.createobject("adodb.recordset")
sql = "update signfile set "
sql = sql & "resenduser=" & SqlStr(resenduser) & "where userid='"&userid&"'"这个空格可能是复制时出错,在代码里是有空格的
conn.Execute sql
response.write("转发成功!")
end if
%>
<form action="sendfile.asp" method="post">
<table align="center">
<tr>
<td>
<select name="resenduser">
<option selected>请选择转发人</option>
<% set conn=opendb("oabusy","conn","accessdsn")
set rsname=server.createobject("adodb.recordset")
sql="select distinct name from userinf"
rsname.open sql,conn,1,1
do while not rsname.eof and not rsname.bof %>
<option value="<%=rsname("name")%>" ><%=rsname("name")%></option>
<% rsname.movenext
loop %>
</select>
</td>
</tr>
</table>
</form>


2006-06-02 16:11
craft001wen
Rank: 2
等 级:论坛游民
帖 子:242
专家分:62
注 册:2006-5-4
得分:0 
resenduser=" & SqlStr(resenduser)

相当于:rs("rsenduser")=resenduser

2006-06-02 16:21
craft001wen
Rank: 2
等 级:论坛游民
帖 子:242
专家分:62
注 册:2006-5-4
得分:0 
以下是引用hangxj在2006-6-2 16:25:00的发言:
有点晕~~~
那你把resenduser=" & SqlStr(resenduser) & "

改成resenduser="&resenduser&"
你应该是要把表格中传过来的这个值写到数据库中吧?

resenduser是新增加的字段值,不能直接赋值


2006-06-02 17:19
craft001wen
Rank: 2
等 级:论坛游民
帖 子:242
专家分:62
注 册:2006-5-4
得分:0 
以下是引用yj123在2006-6-2 16:33:00的发言:

如果 SqlStr(resenduser) 反回的是空值的话,而在数据库里也没设此字段允许为空的话,就会发生上面的错误,你可以先判断一下它是否为空,或是在数库中设为允许为空,试试呀

数据库中是允许为空的
resenduser varchar 50 允许为空


2006-06-02 17:24
craft001wen
Rank: 2
等 级:论坛游民
帖 子:242
专家分:62
注 册:2006-5-4
得分:0 
以下是引用islet在2006-6-2 16:55:00的发言:
有没有SqlStr(str)这个function

它不是功能函数,只是为了能够类型匹配
其实等价于:resenduser='"&resenduser&"'或者是resenduser=rs("resenduser")


2006-06-02 17:28
craft001wen
Rank: 2
等 级:论坛游民
帖 子:242
专家分:62
注 册:2006-5-4
得分:0 

很急啊,还有哪位高人帮帮忙!


2006-06-03 11:11



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-69299-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.346959 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved