Advertisement
Guest User

Untitled

a guest
Apr 11th, 2017
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.06 KB | None | 0 0
  1. from tkinter import *
  2. from tkinter import ttk
  3. from tkinter.filedialog import askopenfile
  4. from tkinter import messagebox
  5. import pyodbc
  6.  
  7.  
  8.  
  9. #Seta as configurações do banco
  10. server = 'autorizadas'
  11. database = 'autorizadas'
  12. username = 'svc-sql-solidus'
  13. password = '5vc!50lidvs2017'
  14. driver= '{ODBC Driver 13 for SQL Server}'
  15.  
  16.  
  17. #janela do TK
  18. root = Tk( )
  19.  
  20.  
  21. cnxn = pyodbc.connect('DRIVER='+driver+';PORT=1433;SERVER='+server+';PORT=1443;DATABASE='+database+';UID='+username+';PWD='+ password)
  22. xcursor = cnxn.cursor()
  23.  
  24. #onde pega o arquivo
  25. def OpenFile():
  26. arq = askopenfile(initialdir="C:/", filetypes =(("Arquivo de texto", "*.txt"),("Todos os arquivos","*.*")), title = "Escolha o arquivo.")
  27. texto = arq.readlines()
  28.  
  29. #conecta com o banco
  30. #cnxn = pyodbc.connect('DRIVER='+driver+';PORT=1433;SERVER='+server+';PORT=1443;DATABASE='+database+';UID='+username+';PWD='+ password)
  31. #cursor = cnxn.cursor()
  32.  
  33. #reseta a tabela
  34. tsql = "TRUNCATE TABLE dados"
  35. cursor.execute(tsql)
  36.  
  37.  
  38. #contador
  39. tot = 1
  40. #manda as infos pro banco
  41. for i in texto:
  42. te = texto[con].split('\t')
  43. #separa tudo que não tiver a primeira info e manda pro banco
  44. if te[0] != '':
  45. tsql = "INSERT INTO dados (telefone, cpf) VALUES(" + te[0].rstrip('\n') + ", " + te[1].rstrip('\n') + ")"
  46. with cursor.execute(tsql):
  47. tot = tot + 1
  48. #print('Tel: ', te[0].rstrip('\n'), 'CPF:', te[1].rstrip('\n'))
  49. #print(tsql)
  50.  
  51. x = 'Contatos no banco de dados: ' + str(tot)
  52. label = ttk.Label(root, text =x)
  53. label.pack()
  54.  
  55. cnxn.commit()
  56.  
  57.  
  58. label = ttk.Label(root, text ='Selecione um arquivo para começar a importação.\n\n\n\n')
  59. label.pack()
  60.  
  61.  
  62. #tamanho da janela
  63. root.geometry("400x200")
  64. #titulo do programa
  65. Title = root.title("Importador")
  66. #Menu
  67. menu = Menu(root)
  68. root.config(menu=menu)
  69. file = Menu(menu)
  70. file.add_command(label = 'Abrir', command = OpenFile)
  71. file.add_command(label = 'Sair', command = lambda:exit())
  72. menu.add_cascade(label = 'Arquivo', menu = file)
  73.  
  74.  
  75. root.mainloop()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement