首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • ASP与数据库-请问在对access数据库进行更新时,我如何把日期字段里修改过的值赋回去?
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-26 21:50:14 楼主
    从access中取出内容:

    <table width = "42%" border = "1" bordercolordark = #9CC7EF bordercolorlight = #145AA0 cellspacing = "0" cellpadding = "4" align = "center">
      <tbody>
      <tr>
        <td colspan = 2 height = "18" bgcolor = "#4296E7">
          <p align = "center"> <font color = "#ffffff">修改 </font> </p>    </td>
      </tr>
        <tr>
          <td width = 84 align = "right" height = "25" nowrap>
            <div align = "right">ID: </div>      </td>
          <td width = "361" height = "25"> <input type = "text" name = "ID" size = "20" value = " <%=rsObj("ID")%>" > </td>
      </tr>
      <tr>
          <td width = 84 align = "right" height = "25" nowrap>
            <div align = "right">购买日期: </div>      </td>
          <td width = "361" height = "25">
            <input type = "text" name = "gmrq" size = "20" value = " <%=rsObj("gmrq")%>" > </td>
      <tr>
          <td width = 84 align = "right" height = "25" nowrap>
            <div align = "right">图片名: </div>      </td>
          <td width = "361" height = "25">
            <input type = "text" name = "photoname" size = "20" value = " <%=rsObj("photoname")%>" >      </td>
      </tr>
     
       
      <tr>
        <td colspan = "2" align = "right" height = "26" nowrap bgcolor = "#4296E7">
          <div align = "center">
            <input type = "submit" name = "Submit2" value = "修改">
            <input type = "button" name = "Submit3" value = "返回" onClick = "window.location = photo.asp">
          </div>    </td>
      </tr>
      </tbody>
    </table>


    修改日期后


    <%
    dim strSQL, cmdObj, rsObj
      dim id
          id  =  Request.Form("id")

          Set cmdObj  =  Server.CreateObject("ADODB.Command")
          Set rsObj  =  Server.CreateObject("ADODB.RecordSet")
         
      cmdObj.CommandText  =  "SELECT * FROM  spb WHERE id=" & id & ""
        cmdObj.CommandType  =  1
          Set cmdObj.ActiveConnection  =  conn
          rsObj.Open cmdObj, , 2,3
          rsObj("gmrq")  = Request.Form("gmrq")
          rsObj("photoname")  = Request.Form("photoname")
      rsObj("id")  = Request.Form("id")
        rsObj.Update
          rsObj.Close
          set rsObj = nothing
          set cmdObj = nothing
         
      '  CloseConn()
    %>
    <script language = Javascript>
    <!--
    alert("修改成功!");
    window.location = "photo.asp"
    -->
    </script>

    问题: 用空格代替gmrq字段值  更新出错
          gmrq字段在access中为日期/时间类型
    请教:如何修改?
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-26 21:54:211楼 得分:0
    dt = CDate(Request.Form("gmrq"))
    rsObj("gmrq").Value  = dt
    gmrq要是有效的数据格式
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-26 22:01:582楼 得分:0
    搞不明白你的意思.

    如果更新出错,那么数据库表将为会被更新.你还要再写什么呢?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-26 22:02:483楼 得分:0
    写错字了...

    搞不明白你的意思.

    如果更新出错,那么数据库表会被更新.你还要再写什么呢?
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-26 22:08:304楼 得分:0
    如果从表中获得数据在网页表单上更改,那就不应该写 select 语句,而应该写:


    Set cmdObj  =  Server.CreateObject("ADODB.Command")
    cmdobj.execute("update spb set gmrq = '"& request.form("gmrq") &"' where id='"& request.form("id")&"'")


    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-26 22:25:105楼 得分:0
    更新出错写错了,是网页出错。
    修改时,三个字段全不为空,则 修改成功。
    如有空,  则提示
    错误类型:
    ADODB.Recordset (0x800A0BCD)
    BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-26 22:44:506楼 得分:0
    错误类型:
    Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
    [Microsoft][ODBC Microsoft Access Driver] 字段  不能是零长度的字符串。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-03-26 23:05:407楼 得分:0
    感觉你是要进行表单变量的检验.

    因为日期字段一定要满足格式,因此,一旦你把空数据上传时,不进行检验则肯定出错.

    要解决问题,在VB脚本中对变量进行检验,如无错误,才能进行更新操作,这样就不会错了.
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    世纪乐知(北京)网络技术有限公司 版权所有 京 ICP 证 020026 号
    Copyright © 2000-2007, CSDN.NET, All Rights Reserved