ASP:如何将数组的内容插入数据库?

时间:2011-07-18 16:47:23

标签: vbscript asp-classic

注意:我不需要帮助将数据插入数据库的通用概念,只需根据“行”的内容对数组的内容进行排序,以及如何确定数据库中的“项目”。数组对应于数据库中的字段


我有一个由桌面应用程序发布给我的数据,我需要对其进行排序。我的旧解决方案有效,但远不如优雅(将每行glob插入数据库,然后查询,reINSERT和删除旧)。

如何将以下大部分信息(以“f_data”发布给我)放入数组并将数据插入数据库?

f_data内容

Open~notepad.exe~7/14/2011 2:28:46 PM~COMPUTER01
Open~mspaint.exe~7/14/2011 2:28:55 PM~COMPUTER01
Close~notepad.exe~7/14/2011 2:30:06 PM~COMPUTER01
Close~mspaint.exe~7/14/2011 2:30:06 PM~COMPUTER01
Session~7/14/2011~336~COMPUTER01
Startup~7/18/2011 11:23:12 AM~COMPUTER01

请记住,我之前从未使用过数组。 15年的ASP,我从来没有使用过数组。我怎么这么幸运,我不知道,但我认为这个解决方案可能需要。这是我将“f_data”放入数组的当前代码:

我想做的例子

var_logdata = request.form("f_data")
arr_logdata = Split(var_logdata,"~")
for var_arrayitem = 0 to ubound(arr_logdata)
'Do some stuff here depending on the log type
  'If type is "Open"
      'insert to tb_applicationlog
  'Elseif type is "Close"
      'insert to tb_applicationlog
  'Elseif type is "Session" 
      'insert to tb_sessions
  'End if
next

我不知道该怎么做才能确定数组中项目的“类型”日志条目。如果查看上面的代码,我需要根据日志条目的“类型”插入数据库中的不同表。例如,“打开”或“关闭”条目进入tb_applicationlog表。确定日志条目的类型后,如何将数组“行”中的项与数据库中的字段对齐?

非常感谢, Beems

1 个答案:

答案 0 :(得分:2)

我认为最好首先使用另一个字符拆分'logdata',然后使用'〜'将'logdata'创建的数组中的字段溢出,如下所示(代码未测试) -

var_logdata = request.form("f_data")
arr_logdata = Split(var_logdata,vbCrLf) 
'split request.form("f_data") using newline so we have an array containing each line 
for var_arrayitem = 0 to ubound(arr_logdata)
    'now we can split each line by "~"
    arr_linelogdata = Split(arr_logdata(var_arrayitem),"~")
    'now arr_linelogdata(0) is log type, arr_linelogdata(1) is next field etc
    'linetype = arr_linelogdata(0) etc
    'use variables derived from array to do what you need to
next