Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 经典ASP将变量值插入Access数据库_Html_Asp.net_Ms Access_Vbscript_Asp Classic - Fatal编程技术网

Html 经典ASP将变量值插入Access数据库

Html 经典ASP将变量值插入Access数据库,html,asp.net,ms-access,vbscript,asp-classic,Html,Asp.net,Ms Access,Vbscript,Asp Classic,我试图在access数据库中插入一个变量值,我可以插入一个像 <td width="125" nowrap="nowrap" ><div align="right">Lead From </div></td> <td><input name="lead" type="text" id="lead" value="" size="50" /></td> 现在,我希望能够做到以下几点: Session("

我试图在access数据库中插入一个变量值,我可以插入一个像

  <td width="125" nowrap="nowrap" ><div align="right">Lead From </div></td>
  <td><input name="lead" type="text" id="lead" value="" size="50" /></td>
现在,我希望能够做到以下几点:

 Session("MM_JobNumber") = job_number
 MM_fieldsStr  = job_number & "|value"
 MM_columnsStr = "Job_Num|',none,''"
当我尝试传递一个变量时,它返回null,ofc在我提供的代码中你看不到正在设置的作业编号,但它100%得到设置

计数器记录器::

Dim countrec
Dim countrec_numRows

Set countrec = Server.CreateObject("ADODB.Recordset")
countrec.ActiveConnection = MM_JobConn_STRING
countrec.Source = "SELECT *  FROM CounterTAB  WHERE Counter_ID = 1"
countrec.CursorType = 0
countrec.CursorLocation = 2
countrec.LockType = 1
countrec.Open()

countrec_numRows = 0
完整代码如下:

If (CStr(Request("MM_insert")) = "form2") Then

    Dim job_number


IF (Session("MM_JobNumber") <> "") OR (Session("MM_JobNumber") <> NULL)Then
    job_number = Session("MM_JobNumber")
Else



    Dim new_count_num
    new_count_num = countrec.Fields.Item("Counter_NUM").Value+1
    job_number = PadDigits(new_count_num, 4) + "-" + mid(DatePart("yyyy",now()),3,2)
    Session("MM_JobNumber") = job_number



END IF

    'UPDATE COUNTER
    set counterupdate = Server.CreateObject("ADODB.Command")
    counterupdate.ActiveConnection = MM_JobConn_STRING
    counterupdate.CommandText = "UPDATE CounterTAB  SET Counter_NUM = Counter_NUM + 1 WHERE Counter_ID = 1"
    counterupdate.CommandType = 1
    counterupdate.CommandTimeout = 0
    counterupdate.Prepared = true
    counterupdate.Execute()

  MM_editConnection = MM_JobConn_STRING
  MM_editTable = "Job_Details"
  MM_editRedirectUrl = "view_jobs_new.asp?offset=-1"
  MM_fieldsStr  = job_number & "|value|hiddenDateRaised|value|hiddenYearRaised|value|hiddenNewRaisedBYID|value|hiddenRaisedBYID|value|hiddenFieldCompanyID|value|hiddenFieldContact1|value|Job_Ref_Name|value|checkbox3_1|value|checkbox3_15|value|checkbox3_4|value|checkbox3_2|value|checkbox3_16|value|checkbox3_5|value|checkbox3_3|value|checkbox3_6|value|checkbox3_7|value|checkbox3_22|value|checkbox3_8|value|checkbox3_9|value|checkbox3_23|value|checkbox3_10|value|checkbox3_20|value|checkbox3_11|value|checkbox3_17|value|checkbox3_12|value|checkbox3_21|value|checkbox3_13|value|checkbox3_18|value|checkbox3_24|value|checkbox3_14|value|checkbox3_19|value|checkbox3_25|value|checkbox3_26|value|DescriptText|value|sitename|value|siteAdd1|value|siteAdd2|value|siteAdd3|value|siteAdd4|value|siteAdd5|value|sitePostCode|value|lead|value"
  MM_columnsStr = "Job_Num|',none,''|Job_Date|',none,''|Job_Year|none,none,NULL|New_Raised_By|none,none,NULL|Raised_By|none,none,NULL|Company|none,none,NULL|Contact|none,none,NULL|Job_Ref|',none,''|Scope_3_01_SiteDecom|none,-1,0|Scope_3_15_Spill|none,-1,0|Scope_3_04_TankClean|none,-1,0|Scope_3_02_SiteClosure|none,-1,0|Scope_3_16_EnviroAss|none,-1,0|Scope_3_05_OtherTankClean|none,-1,0|Scope_3_03_GroundRem|none,-1,0|Scope_3_06_TankLining|none,-1,0|Scope_3_07_TankPainting|none,-1,0|Scope_3_22_SaleFuel|none,-1,0|Scope_3_08_ShipTank|none,-1,0|Scope_3_09_VapourRec|none,-1,0|Scope_3_23_SaleRec|none,-1,0|Scope_3_10_Petroscope|none,-1,0|[Scope_3_20_IBC Testing]|none,-1,0|Scope_3_11_Vacutect|none,-1,0|Scope_3_17_FuelSys|none,-1,0|Scope_3_12_TankCalib|none,-1,0|Scope_3_21_FuelSampling|none,1,0|Scope_3_13_5stage|none,-1,0|Scope_3_18_Oftec|none,-1,0|Scope_3_24_SpillKit|none,-1,0|Scope_3_14_Rail|none,-1,0|Scope_3_19_TankerServices|none,-1,0|Scope_3_25_Training|none,-1,0|Scope_3_26_Other|none,-1,0|Job_Description|',none,'' | Site_Name|',none,''|Site_Add1|',none,''|Site_Add2|',none,''|Site_Add3|',none,''|Site_Add4|',none,''|Site_Add5|',none,''|Site_Postcode|',none,''|Lead_From|',none,''"

  ' create the MM_fields and MM_columns arrays
  MM_fields = Split(MM_fieldsStr, "|")
  MM_columns = Split(MM_columnsStr, "|")


  ' set the form values
  For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
    MM_fields(MM_i+1) = CStr(Request.Form(MM_fields(MM_i)))
  Next

  ' append the query string to the redirect URL
  If (MM_editRedirectUrl <> "" And Request.QueryString <> "") Then
    If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0 And Request.QueryString <> "") Then
      MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString
    Else
      MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString
    End If
  End If


End If
如果(CStr(请求(“MM_插入”)=“表格2”),则
暗号
如果(会话(“MM_作业编号”)或(会话(“MM_作业编号”)为空),则
作业编号=会话(“MM\U作业编号”)
其他的
变暗新计数
new_count_num=countrec.Fields.Item(“Counter_num”)。值+1
作业编号=PadDigits(新计数编号,4)+“-”+mid(日期部分(“yyy”,now()),3,2)
会话(“MM_作业编号”)=作业编号
如果结束
'更新计数器
set counterupdate=Server.CreateObject(“ADODB.Command”)
counterupdate.ActiveConnection=MM\u作业连接\u字符串
counterupdate.CommandText=“更新计数器选项卡设置计数器\u NUM=计数器\u NUM+1,其中计数器\u ID=1”
counterupdate.CommandType=1
counterupdate.CommandTimeout=0
counterupdate.Prepared=true
counterupdate.Execute()
MM_editConnection=MM_作业连接\u字符串
MM_editTable=“作业详细信息”
MM_editRedirectUrl=“查看作业\u新建.asp?偏移量=-1”
MM_fieldsStr=作业编号和"|1月4日,HideDenenenenenenededede维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维维| value | checkbox3 | value | checkbox3 | u6 | value | checkbox3 | u7 | value | checkbox3 | u24.4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4值值值值值值值4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4检查框3|u 14 |值|检查框3|u 19 |值|检查框3|u 25 |值|检查框3|u 26 |值|描述文本|值|站点名称|值|站点Add1 | value | siteAdd2 | value | siteAdd3 | value | siteAdd4 | value | siteAdd5 | value | sitePostCode | value | lead | value”
(2)无,无,无,无,无,无,无,无,无,无,无,无,无,无,无,无泄漏,无泄漏,无泄漏,零零零零零零。无,无,无,无,无,无,无,无,新提出新的(U)提出新的(U)提出新的(U)提出新的(U)提出新的(U)提出新的(U)提出新的(U)提出的(U)提出的(U)提出的(U)提出的(U)提出的)由由(无,无,无,无,无,无,无,无,无,无,无,无,无,无,无,无,无,无,无,无,无,无,无,无,无,无,无,无,无,无,无,无,无,无,无,无,无,无,无,无,无,无,无,无,无,无,无,无,无,无,无,无,新的(U TankClean |无,-1,0 |范围| 3 | 02 |场地封闭|无,-1,0 |范围| 3 | 16 |无,-1,0,1,0,0,1,0,0,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,0,1,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,1,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0|无,-1,0 |范围| 3 | 10 |石油范围|无,-1,0 |[范围| 3 | 20 | IBC测试]|无,-1,0 |范围| 3 | 11 |无,-1,0,0,1,0,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,0,0,1,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,0,1,0,1,0,0,1,0,0,1,0,1,0,0,0,0,0,1,0,1,0,0,0,1,0,0,1,1,0,0,1,0,0,0,1,1,0,0,0,1,0 0,0,1,0,0,0,0,1,0,0,1,0,0,0,1,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,无,-1,0 |范围| 3 | 25 |培训|无,-1,0 |范围| 3 | 26 |其他|无,-1,0 |工作描述|',无,|场地|名称|',无,“|Site_Add1 |”,无“,| Site_Add2 |”,无“,| Site_Add3 |”,无“,| Site_Add4 |”,无“,| Site_Add5 |”,无“,| Site_Postcode |”,无“,| Lead|From |”,无“,”
'创建MM_字段和MM_列数组
MM_fields=拆分(MM_fieldsStr,“|”)
MM_columns=拆分(MM_columnstr,“|”)
'设置窗体值
对于MM_i=LBound(MM_字段)到UBound(MM_字段)步骤2
MM_字段(MM_i+1)=CStr(请求表单(MM_字段(MM_i)))
下一个
'将查询字符串附加到重定向URL
如果(MM_editRedirectUrl“”和Request.QueryString“”),则
如果(InStr(1,MM_editRedirectUrl,“?”,vbTextCompare)=0和Request.QueryString“”),则
MM_editRedirectUrl=MM_editRedirectUrl&“?”&Request.QueryString
其他的
MM_editRedirectUrl=MM_editRedirectUrl&“&”和Request.QueryString
如果结束
如果结束
如果结束
插入代码::

' *** Insert Record: construct a sql insert statement and execute it

Dim MM_tableValues
Dim MM_dbValues

If (CStr(Request("MM_insert")) <> "") Then

'here goes counter update

  ' create the sql insert statement
  MM_tableValues = ""
  MM_dbValues = ""
  For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
    MM_formVal = MM_fields(MM_i+1)
    MM_typeArray = Split(MM_columns(MM_i+1),",")
    MM_delim = MM_typeArray(0)
    If (MM_delim = "none") Then MM_delim = ""
    MM_altVal = MM_typeArray(1)
    If (MM_altVal = "none") Then MM_altVal = ""
    MM_emptyVal = MM_typeArray(2)
    If (MM_emptyVal = "none") Then MM_emptyVal = ""
    If (MM_formVal = "") Then
      MM_formVal = MM_emptyVal
    Else
      If (MM_altVal <> "") Then
        MM_formVal = MM_altVal
      ElseIf (MM_delim = "'") Then  ' escape quotes
        MM_formVal = "'" & Replace(MM_formVal,"'","''") & "'"
      Else
        MM_formVal = MM_delim + MM_formVal + MM_delim
      End If
    End If
    If (MM_i <> LBound(MM_fields)) Then
      MM_tableValues = MM_tableValues & ","
      MM_dbValues = MM_dbValues & ","
    End If
    MM_tableValues = MM_tableValues & MM_columns(MM_i)
    MM_dbValues = MM_dbValues & MM_formVal
  Next
  MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ") values (" & MM_dbValues & ")"

  If (Not MM_abortEdit) Then
    ' execute the insert
    Set MM_editCmd = Server.CreateObject("ADODB.Command")
    MM_editCmd.ActiveConnection = MM_editConnection
    MM_editCmd.CommandText = MM_editQuery
    MM_editCmd.Execute
    MM_editCmd.ActiveConnection.Close
    Session("MM_JobNumber") = NULL

    If (MM_editRedirectUrl <> "") Then
      Response.Redirect(MM_editRedirectUrl)
    End If
  End If

End If
***插入记录:构造sql Insert语句并执行它 Dim MM_表格值 Dim MM_值 如果(CStr(请求(“MM_插入”))”),则 “这是计数器更新 '创建sql insert语句 MM_tableValues=“” MM_dbValues=“” 对于MM_i=LBound(MM_字段)到UBound(MM_字段)步骤2 MM_formVal=MM_字段(MM_i+1) MM_类型数组=拆分(MM_列(MM_i+1),“,”) MM_delim=MM_类型数组(0) 如果(MM_delim=“无”),则MM_delim=“” MM_altVal=MM_类型数组(1) 如果(MM_altVal=“无”),则MM_altVal=“” MM_emptyVal=MM_类型数组(2) 如果(MM_emptyVal=“无”),则MM_emptyVal=“” 如果(MM_formVal=”“)那么 MM_formVal=MM_emptyVal 其他的 如果(MM_altVal“”),则 MM_formVal=MM_altVal ElseIf(MM_delim=“”)然后是“转义引号” MM_formVal=“””&替换(MM_formVal“,”)&“ 其他的 MM_formVal=MM_delim+MM_formVal+MM_delim 如果结束 如果结束 如果(MM_i LBound(MM_字段)),则 MM_tableValues=MM_tableValues&“ MM_dbValues=MM_dbValues&“ 如果结束 MM_tableValues=MM_tableValues和MM_列(MM_i) MM_dbValues=MM_dbValues&MM_formVal 下一个 MM_editQuery=“插入到“&MM_editTable&”(&MM_tableValues&”)值(&MM_dbValues&”)中 如果(不是MM_中止),则 '执行插入 设置MM_editCmd=Server.CreateObject(“ADODB.Command”) MM_editCmd.ActiveConnection=MM_editConnection MM_editCmd.CommandText=MM_editQuery MM_editCmd.Execute MM_editCmd.ActiveConnection.Close 会话(“MM_作业编号”)=空 如果(MM_editRedirectUrl“”),则 Response.Redirect(MM_editRedirectUrl) 如果结束 如果结束 如果结束 Split()处理的是分隔符,而不是分隔符

在数组中导致虚假/空元素。证据:

>> s = "Lead|',none,''"
>> a = Split(s, "|")
>> WScript.Echo UBound(a), a(UBound(a))
>>
1 ',none,''
>> s = "Job_Num|',none,''|"
>> a = Split(s, "|")
>> WScript.Echo UBound(a), a(UBound(a))
>>
2
再三考虑:

这个

应该
MM_columnsStr = "Job_Num|',none,''|"
>> s = "Lead|',none,''"
>> a = Split(s, "|")
>> WScript.Echo UBound(a), a(UBound(a))
>>
1 ',none,''
>> s = "Job_Num|',none,''|"
>> a = Split(s, "|")
>> WScript.Echo UBound(a), a(UBound(a))
>>
2
>> job_number = "JN"
>> MM_fieldsStr = job_number & "|value"
>> WScript.Echo MM_fieldsStr
>>
JN|value
|value
job_number = Session("MM_JobNumber")
Session("MM_JobNumber") = job_number
IF (Session("MM_JobNumber") <> "") OR (Session("MM_JobNumber") <> NULL)Then
    job_number = Session("MM_JobNumber")