Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Fadweb

Ler Txt e separar campos e inserir no banco

Recommended Posts

Oi estou com dificuldades em fazer um sistema que leia o txt e inclua as informações no banco de dados. Conseguir fazer com que leia e monte o A STRING SQL so que monta errado a string ele não pega os valores corretos. me ajudem por favor abaixo o script e em seguida linhas do txt :

 

PAGINA ASP -------------------------------------------------------------------------------------------

<% @Language=vbScript %>
<HTML><HEAD><TITLE>LER TXT </TITLE></HEAD>
<BODY><CENTER>
<% dim final

'************************* Início pegar arquivo txt e gravar no banco ***************************
'criando a conexao com o banco de dados usando DSN
Dim Conexao
Set Conexao = Server.CreateObject("ADODB.Connection")
Conexao.Open "dbq="&Server.MapPath("banco.mdb")&";driver={Microsoft Access Driver (*.mdb)}"

  final = "</CENTER></BODY></HTML>"
 On Error Resume Next
  Set Obj = Server.CreateObject("Scripting.FileSystemObject")
  if Obj.FileExists(server.MapPath("arquivo.txt")) then 
  Set arquivo = Obj.OpenTextFile(server.MapPath("arquivo.txt"), 1)
  if Err then
      Response.write "Ocorreu um erro tentando abrir o arquivo!"
      Response.write final
      Response.End
  end if
  Response.Write "Lista de E-mails<BR>"
  Response.write "<HR>" 
  do while arquivo.AtEndOfStream=false 
  '  a = arquivo.Readline  
  '  response.write a & "<BR>"
   ' a = arquivo.Readline  
   ' response.write a & "<HR>"
arrayLinha=split(arquivo.ReadLine,";",-1,1)
response.write arrayLinha(0)
response.write ("<br>")
' MONTA O INSERT  - O problema esta aqui eu acho
sql = "INSERT INTO TABELA (NOMECOMPLETO, PRONTUARIO, ANOLETIVO, NASCIMENTO, CURSO_DESCRICAO, SERIE, CLASSE, MEDIABIM1, MEDIABIM2, MEDIABIM3, MEDIABIM4, NOTARECUP, PORCENFREQ) VALUES ('"&arrayLinha(0)&"','"&arrayLinha(1)&"','"&arrayLinha(2)&"','"&arrayLinha(3)&"','"&arrayLinha(4)&"','"&arrayLinha(5)&"','"&arrayLinha(6)&"','"&arrayLinha(7)&"','"&arrayLinha(8)&"','"&arrayLinha(10)&"','"&arrayLinha(11)&"','"&arrayLinha(12)&"','"&arrayLinha(13)&"')"
response.write (sql)
response.write ("<br>")
  Response.write "<HR>"
'conexao.execute(sql)

  loop 'Passar para próxima linha

  REsponse.Write final
  end if   
 'Destruiremos e fecharemos o FSO e o acesso ao arquivo de text
  arquivo.close
'Destruiremos e fecharemos a conexão com o banco de dados
Conexao.close
Set Conexao = nothing

If Err <> 0 Then
'Aqui estamos imprimindo na tela do usuário a descrição do erro e seu número.
Response.Write Err.Description & " " & Err.Number & "<br>"
Response.Write "<font face=Verdana, Arial, Helvetica, sans-serif size=2><b>Houve erro(s) !<br> </b></font>"
Else
'Se o objeto Err for igual a 0 será apresentado a mensagem de sucesso e os dados estarão salvos no caminho determinado acima
Response.Write "<font face=Verdana, Arial, Helvetica, sans-serif size=2><b>Seus dados foram carregados com sucesso!</b></font>"
End If
Response
'Abaixo, caso a ordem ou a quantidade de campos do arquivo de texto
'seja inferior a do banco de dados, retornaremos uma mensagem de erro
if err>0 then
' response.write "<script>history.back(1);alert('Ocorreu algum problema na inserção.\nVerifique o layout do arquivo de texto.')</'script> " 
response.write "Arquivo inexistente ou ocorreu algum problemana inserção.Verifique o layout do arquivo de texto."
'response.End()
end if

'************************* Deletando arquivo txt ***************************
'Set objFSO = server.CreateObject("Scripting.FileSystemObject") 
'objfso.DeleteFile Server.MapPath("arquivo.txt"),true
'Set fso = Nothing   

%>
TXT------------------------------------------------------------------------------------------------------

 

NOMECOMPLETO;PRONTUARIO;ANOLETIVO;NASCIMENTO;CURSO_DESCRICAO;SERIE;CLASSE;MEDIABIM1;MEDIABIM2;NOTARECUP;MEDIABIM3;MEDIABIM4;NOTARECUP;PORCENFREQ;

ANANDA GABRIEL SINGH 00554-1200915/01/2006 EDUCAÇÃO INFANTIL1B

DAVI CAMPOS ETCHEBEHERE 00524-0200905/12/2005 EDUCAÇÃO INFANTIL1B

KAHUA SOUSA VIEIRA 00558-4200904/05/2006 EDUCAÇÃO INFANTIL1B

Compartilhar este post


Link para o post
Compartilhar em outros sites

esse exemplo do TXT é uma linha só?

 

pelo que percebo não é um TXT com padrão de formato pois acho que está separado por ponto e virgula ";" e espaço

Compartilhar este post


Link para o post
Compartilhar em outros sites

esse exemplo do TXT é uma linha só?

 

pelo que percebo não é um TXT com padrão de formato pois acho que está separado por ponto e virgula ";" e espaço

 

O arquivo txt esta quase como postei o que separa um dado de outro e espaco em branco. SOMENTE na primeira linha que e separado por ponto e virgula ( ; ) onde e a descricao dos campos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode dar um Split nele e depois fazer um looppara inseriri no bd...

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode dar um Split nele e depois fazer um looppara inseriri no bd...

 

entaum no scrpit que peguei tem um linha dando esse comando so que nao sei se ta certo por favor de um olhada ele pega valor da pimeira linha e nao da restantes e na parte quando monta a string sql ele da erro os valores fica errado e igual a primeira linha

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas o nome é separado por espaço também

 

melhor padronizar um carácter diferente para usar

Compartilhar este post


Link para o post
Compartilhar em outros sites

no seu code , você est usando o caracter ";"

 

arrayLinha=split(arquivo.ReadLine,";",-1,1)

um exemplo simples seria

um txtx com esse conteudo

 

MSDN|http://www.msdnbrasil.com.br

 

e você dfazer assim:

 

icampo=Split(linha,"|",-1,1)
response.Write("<a href='"&icampo(1)&"'>"& icampo(0)&"</a><br>")

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.