2017-10-18 1 views
0

Ich verwende Classic ASP, um der Tabelle, die Zeilen aus einer Datenbank anzeigt, eine Notizfunktion hinzuzufügen. Die eingefügte Zeile speichert die gespeicherten Bemerkungen in der Datenbank, aber der folgende Code funktioniert nicht.Hinzufügen eines Textbereichs in Tabelle und Speichern in SQL Server-Datenbank

<% 
    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> 
<% 
+0

Ist das Classic ASP oder asp.net? Es sieht aus wie Classic ASP – John

+0

seine klassische ASP –

+2

Ihre HTML '

' ist ungültig es kann nicht innerhalb einer Zelle einer Zelle beginnen und außerhalb außerhalb, verschieben Sie die '
' innerhalb der ''. Hast du den HTML-Code über einen Validator laufen lassen? Auch die Zeile 'cast (Bemerkungen als int)' ist keine gültige VBScript-Syntax und wird fehlerhaft, nicht sicher, was das zu tun ist. – Lankymart

Antwort

0

Sie führen Ihre Aktualisierungsabfrage niemals aus. Auch Ihre Update-Anweisung scheint nicht gültig zu sein, da Sie die Spalte Bemerkungen als Speicher für die Bemerkung und als Zeilen-ID verwenden. Sehen Sie das Hinzufügen einer Rowid Spalte Sie Tabelle und verwenden Sie die folgende Update-Anweisung

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

Da Ihr Code vulnerabe zu SQL-Injection ist, sollten Sie parametrisierte Abfragen nachschlagen.

Verwandte Themen