Advertisement
Guest User

modificar albums

a guest
Jan 22nd, 2020
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.11 KB | None | 0 0
  1. #função de modificar
  2. def modificar():
  3. print('\n -MODIFICÃO- ')
  4. cursor=Base.connect()#Ligação à base de dados
  5.  
  6. coluna=["Title","ArtistId"]#Lista com as colunas de albums
  7.  
  8. #escolher a coluna de modificaçao
  9. print(coluna)
  10. vertical=input("Selecione a coluna onde quer modificar: ")#Pedir informação
  11. #ciclo que garante que é escolhida uma coluna válida
  12. while vertical not in coluna:
  13. vertical=input("Selecione a coluna onde quer modificar: ")
  14.  
  15. #Opção Title
  16. if vertical=="Title":
  17. #Seleção dos valores o id e o nome do album
  18. cursor=Base.connect()
  19. cursor.execute("SELECT AlbumId,Title FROM albums")
  20. dados=cursor.fetchall()
  21. Base.connection.commit()
  22. print(" ")
  23. print(' -Albums- ')
  24.  
  25. #Selecionar os valores de id dos albums
  26. cursor=Base.connect()
  27. cursor.execute("SELECT AlbumId FROM albums")
  28. dados=cursor.fetchall()
  29. idr=[]
  30. Base.connection.commit()
  31.  
  32. #Adicionar na lista todos os resultados
  33. for linha in range(len(dados)):
  34. idr.append(dados[linha][0])
  35.  
  36. #Ciclo que pede e verifica se é um id válido
  37. while True:
  38. try:
  39. print(" ")
  40. id_album=input('Id do Album a alterar? ')
  41. id_album=int(id_album)
  42. if id_album in idr:
  43. break
  44. else:
  45. print('ID não encontrado, tente novamente ')
  46. print(" ")
  47. continue
  48. except ValueError:
  49. print('ID não encontrado, tente novamente')
  50. print(" ")
  51. op=input("Id do Album a alterar ")
  52. print(" ")
  53. album_novo=input(("Nome do album novo? "))
  54.  
  55. #Atualizar para os dados novos
  56. cursor.execute("UPDATE albums SET Title= '%s' WHERE AlbumId = %i"%(album_novo,int(id_album)) )
  57. Base.connection.commit()
  58. print(" ")
  59. print("Alterado com sucesso ")
  60.  
  61. #Opção ArtistId
  62. elif vertical=="ArtistId":
  63. #Seleção dos valores de albums
  64. cursor=Base.connect()
  65. cursor.execute("SELECT AlbumId,Title,ArtistId FROM albums")
  66. dados=cursor.fetchall()
  67. Base.connection.commit()
  68.  
  69. print(' -Albums- ')
  70.  
  71. #Selecionar id dos albums
  72. cursor=Base.connect()
  73. cursor.execute("SELECT AlbumId FROM albums")
  74. dados=cursor.fetchall()
  75. ids_a=[]
  76. Base.connection.commit()
  77.  
  78. #Adicionar na lista todos os resultados
  79. for linha in range(len(dados)):
  80. ids_a.append(dados[linha][0])
  81.  
  82. #Ciclo que pede e verifica se é um id válido
  83. while True:
  84. try:
  85. print(" ")
  86. id_album=input('Qual o AlbumId que pretende utilizar para em seguida alterar o ArtistId? ')
  87. id_album=int(id_album)
  88. if id_album in ids_a:
  89. break
  90. else:
  91. print(" ")
  92. print('Nao encontrado, tente novamente! ')
  93. continue
  94. except ValueError:
  95. print(" ")
  96. print('Nao encontrado, tente novamente! ')
  97. op=input("Id a mudar: ")
  98.  
  99. #Seleção dos valores dos artistas
  100. cursor=Base.connect()
  101. cursor.execute("SELECT ArtistId,Name FROM artists")
  102. dados=cursor.fetchall()
  103. l_artista=[]
  104. Base.connection.commit()
  105.  
  106. #Adicionar na lista todos os resultados
  107. for linha in range(len(dados)):
  108. l_artista.append(dados[linha][0])
  109.  
  110. #Ciclo que garante que existe o id e que é um número inteiro e válido
  111. while True:
  112. try:
  113. print(" ")
  114. id_a_novo=input("Novo ID do Artista? ")
  115. id_a_novo=int(id_a_novo)
  116. if id_a_novo in l_artista:
  117. break
  118. else:
  119. print(" ")
  120. print('Não encontrado, tente novamente ')
  121. continue
  122. except ValueError:
  123. print(" ")
  124. print('Não encontrado, tente novamente')
  125. print(" ")
  126. id_a_novo=input("Id do artista: ")
  127.  
  128. #Atualizar/substituir os dados antigos pelos novos
  129. cursor.execute("UPDATE albums SET ArtistId = '%s' WHERE AlbumId = '%s'"%(id_a_novo,int(id_album)))
  130. Base.connection.commit()
  131. print(" ")
  132. print("Alterado com sucesso ")
  133. print(" ")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement