ASP: Как вставить содержимое массива в базу данных? - PullRequest
2 голосов
/ 18 июля 2011

ПРИМЕЧАНИЕ: мне не нужна помощь с общей концепцией вставки данных в базу данных, просто сортировка содержимого массива в зависимости от содержимого «строки» и того, как определить, какие «элементы» вмассив соответствует полю в базе данных


У меня есть набор данных, отправленных мне настольным приложением, которые мне нужно отсортировать.Мое старое решение работало, но оно было далеко не элегантным (вставьте каждую строку глобуса в базу данных, затем запросите, повторно вставьте и удалите старую).

Как я могу получить следующий кусок информации (ПОСТАВЛЕННЫЙ мнекак "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 Ответ

2 голосов
/ 18 июля 2011

Я думаю, что было бы лучше сначала разбить '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
...