2012-06-07 83 views
0

我有代码动态地输入值,当我用它来第一次添加值时,没关系,但是当我想要编辑它时,旧的值没有插入在SQL查询,但新的值插入从数组中丢失某些值

这里是例子: enter image description here

这里是代码:

============功能==== =============

sub ShowItemfgEdit(query,selItemName,defValue,num,cdisable) 
     response.write "<select " & cdisable & " num=""" & num & """ id=""itemCombo"" name=""" & selItemName & """ class=""label"" onchange=""varUsage.ChangeSatuanDt(this)"">" 
     if NOT query.BOF then 
      query.moveFirst 
      WHILE NOT query.EOF 
       tulis = "" 
       if trim(defValue) = trim(query("ckdbarang")) then 
        tulis = "selected" 
       end if 
       response.write "<option value=""" & trim(query("ckdbarang")) & """" & tulis & ">" & trim(query("ckdbarang")) & " - " & trim(query("vnamabarang")) 
       query.moveNext 
      WEND 
     end if 
     response.write "</select>" 
    end sub 

============调用函数================

<td class="rb" align="left"><% call ShowItemfgEdit(qGetItemfgGrp,"fitem",qGetUsageDt("ckdfg"),countLine,readonlyfg) %></td> 

========== ====发布值======================

<input type="hidden" name="fitem" value=""> 

============== ==获得价值===================

for i = 1 to request.form("hdnOrderNum") 
     if request.form("selOrdItem_" & i) <> "" then 

      'bla...blaa...blaa... 

      ckdfg = trim(request.form("fitem_" & i)) '<==here is the problem 


      objCommand.commandText = "INSERT INTO IcTrPakaiDt " &_ 
             "(id, id_h, ckdunitkey, cnopakai, dtglpakai, ckdbarang, ckdgudang, nqty1, nqty2, csatuan1, csatuan2, nqtypakai, csatuanpakai, vketerangan, cJnsPakai, ckdprodkey, ckdfg, ncountstart, ncountstop, ncounttotal) " &_ 
             " VALUES " &_ 
             " (" & idDt & ",'" & idHd & "','" & selLoc & "','" & nopakai & "','" & cDate(request.form("hdnUsageDate")) & "','" & trim(ckdbarang) & "','" & trim(ckdgudang) & "'," & nqty1 & "," & nqty2 & ",'" & trim(csatuan1) & "','" & trim(csatuan2) & "'," & nqtypakai & ",'" & csatuanpakai & "','" & trim(keteranganItem) & "','" & trim(cjnspakai) & "','" & ckdprodkey & "','" &ckdfg& "'," & cnt1 & "," & cnt2 & "," & totalcnt & ")" 
      set qInsertPakaiDt = objCommand.Execute 

     end if 
    next 

的问题:ckdfg旧值没有插入查询,但新值插入。 如何解决这个错误?

回答

2

您试图发布名称为fitem而非fitem_x的字段。

注意:除了你的错误,你的代码还有几个错误,包括与安全有关的错误。您不会清理输入,例如,SQL注入攻击。

+0

ok我会尝试,但我用它只是为了插入新的输入,它工作正常,但是当我想编辑输入时,旧的输入无法捕获。 感谢您的建议:)我会修复安全 – blankon91

+0

它没有工作..fitem_使用,因为它在数组中的表单名称。 – blankon91

+1

我很难理解你的问题,但如果我是对的 - 你不会得到你提交的旧输入。只有新的。实际上,您需要的唯一旧信息是记录ID,因此您将知道要在数据库中更新哪些信息。 –