在 table 中添加文本区域并将其保存到 SQL 服务器数据库

Adding a text area in table and saving it to SQL Server database

我正在使用 Classic ASP 向显示数据库行的 table 添加注释功能。插入的行将保存到数据库保存备注但以下代码不起作用。

<%
   Dim fRemark
   fRemark = Request.Form("Remarks")
   Dim rsIntra,MyQryItr2
   set cnIntra = Server.CreateObject("ADODB.Connection")
   set MyQryItra2 = server.CreateObject ("ADODB.Recordset")
   set rsIntra = Server.CreateObject("ADODB.Recordset")
   MyQryItra2 = "select Remarks from [PurchaseOrderTrackInfo]"
   rsIntra.Open MyQryItra,strRMSIDMcn 
   if rsIntra.eof then
       MyQryItr2 = "insert into [PurchaseOrderTrackInfo] Remarks values  N'" & fRemark & " '; "
       cast(Remarks as int)
       cnIntra.Execute MyQryItr2
   else
       rsIntra.close
       set rsIntra = Nothing
       set rsIntra = server.CreateObject("ADODB.Recordset")
       MyQryItr2 = "UPDATE [PurchaseOrderTrackInfo] SET Remarks = N'" & fRemark & " '; where Remarks = rowID;"    
   end if
   set rsIntra=Nothing
   strConnDB= "Driver={SQL Server};Server=GB;Database=PurchaseOrderTrackInfo;UID=madfox;PWD=;" 
%>
   <td colspan="10" bordercolor=#3399ff bgcolor=#FFFF99 align="center">
       <font face="Arabic Transparent" size="1" color="#800080"></font>
       <form action=UpdatePO1.asp method=post >
       <textarea name="Remarks" cols="20" rows="2" ><%=fRemark%></textarea>
       <input type="submit"  class="btn1" value="save" name="finish"/>
       <input type="hidden" name="rowID" value="ID" />
   </td>
   </form>
<%

您从不执行更新查询。此外,您的更新语句似乎无效,因为您使用列 Remarks 作为 Remark 的存储和行 ID。考虑给你加一个rowid列table并使用下面的update语句

MyQryItr2 = "UPDATE [PurchaseOrderTrackInfo] SET Remarks = N'" & fRemark & " ' where rowId =" & rowID
cnIntra.Execute MyQryItr2

由于您的代码容易受到 SQL 注入攻击,您应该查找参数化查询。