注意:我不需要帮助将数据插入数据库的通用概念,只需根据“行”的内容对数组的内容进行排序,以及如何确定数据库中的“项目”。数组对应于数据库中的字段
我有一个由桌面应用程序发布给我的数据,我需要对其进行排序。我的旧解决方案有效,但远不如优雅(将每行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
答案 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