код asp для загрузки данных - PullRequest
1 голос
/ 07 апреля 2010

У меня есть этот код для загрузки файла Excel и сохранения данных в базе данных. Я не могу написать код для записи в базу данных.кто-то, пожалуйста, помогите

<%
if (Request("FileName") <> "") Then
Dim objUpload, lngLoop
Response.Write(server.MapPath("."))
If Request.TotalBytes > 0 Then
 Set objUpload = New vbsUpload

  For lngLoop = 0 to objUpload.Files.Count - 1
    'If accessing this page annonymously,
    'the internet guest account must have
    'write permission to the path below.
    objUpload.Files.Item(lngLoop).Save "D:\PrismUpdated\prism_latest\Prism\uploadxl\"

 Response.Write "File Uploaded"
 Next

 Dim FSYSObj, folderObj, process_folder
 process_folder = server.MapPath(".") & "\uploadxl"
 set FSYSObj =  server.CreateObject("Scripting.FileSystemObject")
 set folderObj =  FSYSObj.GetFolder(process_folder)

 set filCollection = folderObj.Files

 Dim SQLStr 
 SQLStr = "INSERT ALL INTO TABLENAME "
 for each file in filCollection
   file_name =  file.name 
    path = folderObj & "\" & file_name
    Set objExcel_chk = CreateObject("Excel.Application")
    Set ws1 = objExcel_chk.Workbooks.Open(path).Sheets(1)
     row_cnt = 1


      'for row_cnt = 6 to 7
      ' if ws1.Cells(row_cnt,col_cnt).Value <> "" then
      '  col = col_cnt 
      ' end if
      'next 
      While (ws1.Cells(row_cnt, 1).Value <> "") 
      for col_cnt = 1 to 10     

       SQLStr = SQLStr & "VALUES('" & ws1.Cells(row_cnt, 1).Value & "')"
      next
      row_cnt = row_cnt + 1
      WEnd


     'objExcel_chk.Quit
     objExcel_chk.Workbooks.Close()
     set ws1 = nothing
     objExcel_chk.Quit

     Response.Write(SQLStr)

      'set filobj = FSYSObj.GetFile (sub_fol_path & "\" & file_name)
      'filobj.Delete

    next
End if
End If

PLZ, скажите мне, как сохранить следующие данные Excel в оракул databse. Любая помощь будет оценена

1 Ответ

0 голосов
/ 07 апреля 2010

Основная идея того, что вы хотите сделать, это:

Извлечение данных из таблицы в ряд за строкой, и для каждой строки выполните оператор insert для базы данных. Вы, вероятно, можете обойтись без синтаксиса insert all, который вы в настоящее время пытаетесь использовать.

Ваш SQL должен быть в формате:
insert into <tablename> (<column_name1>, <column_name2>) values (<value1>, <value2>)

Ваш код пытается сгенерировать строку для оператора SQL, но не выполняет вставку. Вы должны разбить его и вывести генерируемую строку SQL, чтобы убедиться, что она правильная.

Вот пример выполнения вставки в базу данных Oracle в классическом ASP:
http://home.wlv.ac.uk/~cm1958/TextVersion/OracleASP/InsertingData.html

Он ссылается на функцию getDBConnection, которую вам придется изменить, чтобы она стала кодом, который использует вашу строку подключения для базы данных и создает объект подключения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...