在表格中添加文本区域并将其保存到SQL Server数据库
问题描述:
我使用的是传统ASP向从数据库显示行的表中添加注释函数。插入的行将保存到数据库保存备注但下面的代码不起作用。在表格中添加文本区域并将其保存到SQL Server数据库
<%
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>
<%
答
你永远不会执行你的更新查询。您的更新语句似乎也不是有效的,因为您正在使用列备注作为备注的存储空间和行ID。考虑加入一个rowid列给你的表,并使用下面的更新语句
MyQryItr2 = "UPDATE [PurchaseOrderTrackInfo] SET Remarks = N'" & fRemark & " ' where rowId =" & rowID
cnIntra.Execute MyQryItr2
因为你的代码是vulnerabe SQL注入,你应该看看了参数化查询。
这是传统的ASP还是asp.net?它看起来像经典ASP – John
它的经典ASP –
您的HTML'
'移动到''内。你通过验证器运行了HTML吗?同样,'cast(注解为int)'行不是有效的VBScript语法,并且会出错,不知道该怎么做。 – Lankymart