首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > ASP >

asp修改数据有关问题

2012-03-13 
asp修改数据问题我在对数据库内数据进行修改时,当输入的原始内容为汉字或字母时,则无法进行修改,且不报错,

asp修改数据问题
我在对数据库内数据进行修改时,当输入的原始内容为汉字或字母时,则无法进行修改,且不报错,原始内容为数字时,可以完成修改.请问为什么会出现这样的情况?

managecz.asp代码如下:

<!--#include   file= "conn.asp "-->
<%
dim   cls
if   session( "admin ")= " "   then
Response.Redirect( "admin.asp ")
else
if   session( "flag ") <> "0 "   then

cls   =   Instr(session( "flag "),   "danweifig ")
if   cls   <=   0   then
%>
<script   language= "javascript ">
if   (confirm( "您的操作权限不够,系统拒绝你的访问,请点确定返回,或者点取消退出重新登录 "))
    location.href= "login.asp ";
else
    location.href= "index.asp ";
</script>
<%
end   if
end   if
end   if
%>
<html>
<head>
<script>
function   IsDigit()
{
    return   ((event.keyCode   > =   48)   &&   (event.keyCode   <=   57));
}
</script>
<meta   http-equiv= "Content-Type "   content= "text/html;   charset=gb2312 ">
<link   href= "../images/css.css "   rel= "stylesheet "   type= "text/css ">
</head>
<body>

<table   class= "tableBorder "   width= "90% "   border= "0 "   align= "center "   cellpadding= "3 "   cellspacing= "1 "   bgcolor= "#FFFFFF ">
        <form   method= "post "   action= "setcz.asp?action=update ">
                    <tr>  
                        <td   colspan= "5 "   align= "center "   background= "../images/admin_bg_1.gif "> <b> <font   color= "#ffffff "> 材质设置 </font> </b> </td>
                    </tr>
            <tr   align=center   >  
                <td   width= "20% "   bgcolor= "fbc2c2 "> 序   号 </td>
                <td   width= "15% "   bgcolor= "fbc2c2 "> 材质名称 </td>
                <td   width= "15% "   bgcolor= "fbc2c2 "> 单   价 </td>
                <td   width= "30% "   bgcolor= "fbc2c2 "> 排   序(必填项数字) </td>
                <td   width= "20% "   bgcolor= "fbc2c2 "> 操   作 </td>
            </tr>
<%
Set   rs   =   Server.CreateObject( "ADODB.Recordset ")
rs.open   "SELECT     *   from   caizhi   order   by   danweiorder ",conn,1,1
if   rs.recordcount=0   then  
%>
<tr>  
<td   colspan= "9 "   height=25   align= "center "   width= "100% "   >   还没有添加材质   </td>


</tr>
<%
else
        do   while   not   rs.eof
%>
            <tr   >  
                <td   align=center> <%=rs( "ID ")%> </td>
                <td   align=center>  
                    <input   type= "hidden "   name= "danweiid "   value= " <%=rs( "id ")%> ">
                    <input   class=text   type= "text "   name= "danweiname "   size= "10 "   value= " <%=trim(rs( "danweiname "))%> ">                 </td>
                <td   align=center> <input   class=text   type= "text "   name= "danjia "   size= "10 "   value= " <%=trim(rs( "danjia "))%> ">   </td>
                <td   align=center>  
                    <input   class=text   type= "text "   name= "danweiorder "   size= "10 "   value= " <%=rs( "danweiorder ")%> "   ONKEYPRESS= "event.returnValue=IsDigit(); "   >                 </td>
                <td   align=center>  
                    <a   href= "delcz.asp?danweiid= <%=rs( "id ")%> "> 删除 </a>                 </td>
            </tr>
            <%
        rs.MoveNext
        Loop
%>
<tr>  
<td   colspan= "5 "     align= "center "   width= "100% ">  
<input   type= "submit "   name= "Submit2 "   value= "保存修改 "   style= "font-family:   宋体;   font-size:   9pt "> &nbsp;
<input   type= "reset "   value= "重新设定 "   style= "font-family:   宋体;   font-size:   9pt "   name= "重置 "   > </td>
</tr>
<%
end   if
rs.close
set   rs=nothing
conn.close
set   conn=nothing
%>
</form>
</table>
<br>
<table   class= "tableBorder "   width= "90% "   border= "0 "   align= "center "   cellpadding= "3 "   cellspacing= "1 "   bgcolor= "#FFFFFF ">
<form   method= "post "   action= "setcz.asp?action=add ">
<tr>  
<td   colspan= "5 "   align= "center "   background= "../images/admin_bg_1.gif "> <b> <font   color= "#ffffff "> 添加材质 </font> </b> </td>
</tr>
<tr   height=40   >  


<td   width=20%   align=center> 添加材质 </td>
<td   width=15%   align=center>  
<input   class=text   type= "text "   name= "danweiname "   size= "10 "> </td>
<td   width=15%   align=center> <input   class=text   type= "text "   name= "danjia "   size= "10 "> </td>
<td   width=30%   align=center>  
<input   class=text   type= "text "   name= "danweiorder "   size= "10 "   ONKEYPRESS= "event.returnValue=IsDigit(); "> </td>
<td   width=20%   align=center>  
<input   type= "submit "   name= "Submit2 "   value= "添加 "   style= "font-family:   宋体;   font-size:   9pt "> </td>
</tr>
</form>
</table>
</body>
</html>

setcz.asp代码如下:

<!--#include   file= "conn.asp "-->
<%if   session( "admin ")= " "   then
response.Write   " <script   language= 'javascript '> alert( '网络超时或您还没有登陆! ');window.location.href= 'login.asp '; </script> "
response.End

end   if
dim   danweiid,danweiorder,danweiname,danjia,danweino,i
if   request( "action ")= "update "   then
        for   i=1   to   request.form( "danweiid ").count
danweiid=replace(request.form( "danweiid ")(i), " ' ", " ")
danweiorder=replace(request.form( "danweiorder ")(i), " ' ", " ")
danweiname=replace(request.form( "danweiname ")(i), " ' ", " ")
danjia=replace(request.form( "danjia ")(i), " ' ", " ")
if   replace(request.form( "danweiorder ")(i), " ' ", " ")= " "   then
%>
<script   language=javascript>
history.back()
alert( "请填写单位的显示排序! ")
</script>
<%
Response.End
end   if
conn.execute( "update   caizhi   set   danweiorder= "&danweiorder& ",danweiname= "&danweiname& ",danjia= "&danjia& "   where   id= "&danweiid)
        next
conn.close
set   conn=nothing
response.write   " <script   language=javascript> alert( '材质设置成功! ');window.location.href= 'managecz.asp '; </script> "
end   if
if   request( "action ")= "add "   then
danweino=request.form( "danweino ")
danweiname=trim(request( "danweiname "))
danjia=trim(request( "danjia "))
danweiorder=request.form( "danweiorder ")
If   danweiname= " "   Then
response.write   "材质名称不能为空!请 <a   href=javascript:history.go(-1)> 返回重新填写 </a> ! "
response.end
end   if
If   danweiorder= " "   Then
response.write   "排序不能为空!请 <a   href=javascript:history.go(-1)> 返回重新填写 </a> ! "
response.end
end   if
Set   rs   =   Server.CreateObject( "ADODB.Recordset ")
rs.open   "select   *   from   caizhi ",conn,1,3
rs.addnew
rs( "danweiname ")=danweiname


rs( "danweiorder ")=danweiorder
rs( "danjia ")=danjia
rs.update
rs.close
set   rs=nothing
conn.close
set   conn=nothing
response.write   " <script   language=javascript> alert( '材质添加成功! ');window.location.href= 'managecz.asp '; </script> "
end   if
%>


[解决办法]
检查一下数据库字段类型
[解决办法]
看看数据库相应的字段类型是什么?如果是数字的话,字母和汉字当然无法录入
[解决办法]
数据库类型问题
[解决办法]
对啊,这样的问题应该首先检查sql语句是不是错了,先用vb做个小测试,如果不错,然后看代码!
[解决办法]

conn.execute( "update caizhi set danweiorder= "&danweiorder& ",danweiname= "&danweiname& ",danjia= "&danjia& " where id= "&danweiid) ‘ " "这个代表的是数字
改成
conn.execute( "update caizhi set danweiorder= ' "&danweiorder& " ',danweiname= ' "&danweiname& " ',danjia= ' "&danjia& " ' where id= "&danweiid)’ ' " " '这个才是汉字和字母
[解决办法]
接点分
[解决办法]
唉!
只剩下接分了
[解决办法]
都解决了。。。我也来接点分吧
[解决办法]
conn.execute( "update caizhi set danweiorder= "&danweiorder& ",danweiname= "&danweiname& ",danjia= "&danjia& " where id= "&danweiid)
这个要改成
conn.execute( "update caizhi set danweiorder= ' "&danweiorder& " ',danweiname= ' "&danweiname& " ',danjia= ' "&danjia& " ' where id= "&danweiid)

热点排行