Página 1 de 2
MYSQL SQLMIX, conectando e criando base e tabela via SQL.
Enviado: 15 Abr 2020 22:00
por Itamar M. Lins Jr.
Ola!
Usei o ODBC Windows (x86, 32-bit), MSI Installer 8.0.19 para conexão.
Código: Selecionar todos
#require "rddsql"
#require "sddodbc"
#include "dbinfo.ch"
#include "simpleio.ch"
REQUEST SQLMIX, SDDODBC
PROCEDURE Main()
LOCAL nConnection, nI, aI
#if defined( __HBSCRIPT__HBSHELL )
rddRegister( "SQLBASE" )
rddRegister( "SQLMIX" )
//hb_SDDODBC_Register()
#endif
Set( _SET_DATEFORMAT, "yyyy-mm-dd" )
rddSetDefault( "SQLMIX" )
nConnection := rddInfo( RDDI_CONNECT, { "ODBC", "Server=localhost;Driver={MySQL ODBC 8.0 Unicode Driver};dsn=;User=root;Pwd=suasenha;" } )
IF nConnection == 0
? "Could not connect to server", rddInfo( RDDI_ERRORNO ), rddInfo( RDDI_ERROR )
RETURN
ENDIF
? nConnection
? rddInfo( RDDI_EXECUTE, "CREATE DATABASE IF NOT EXISTS `basedados`" )
? rddInfo( RDDI_EXECUTE, "USE `basedados`" )
? rddInfo( RDDI_EXECUTE, "DROP TABLE country" )
? rddInfo( RDDI_EXECUTE, "CREATE TABLE country (CODE char(3), NAME char(50), RESIDENTS int(11))" )
? rddInfo( RDDI_EXECUTE, "INSERT INTO country values ('LTU', 'Lithuania', 3369600),('USA', 'United States of America', 305397000), ('POR', 'Portugal', 10617600), ('POL', 'Poland', 38115967), ('AUS', 'Australia', 21446187), ('FRA', 'France', 64473140), ('RUS', 'Russia', 141900000)" )
? dbUseArea( .T., , "SELECT * FROM country", "country" )
? "LASTREC:", country->(LastRec())
DO WHILE ! Eof()
aI := Array( FCount() )
FOR nI := 1 TO FCount()
aI[ nI ] := FieldGet( nI )
NEXT
? RecNo(), hb_ValToExp( aI )
dbSkip()
ENDDO
? "LASTREC:", LastRec()
dbCloseAll()
RETURN
Harbour 3.4, não precisa nem compilar!
hbrun test2.prg
Saudações,
Itamar M. Lins Jr.
SQLMIX, conectando e criando base e tabela via SQL.
Enviado: 15 Abr 2020 22:56
por JoséQuintas
E não querendo ser chato.... o mesmo fonte em ADO.
Código: Selecionar todos
//#require "rddsql"
//#require "sddodbc"
//#include "dbinfo.ch"
//#include "simpleio.ch"
//REQUEST SQLMIX, SDDODBC
PROCEDURE Main()
LOCAL nConnection, nI, aI
//#if defined( __HBSCRIPT__HBSHELL )
// rddRegister( "SQLBASE" )
// rddRegister( "SQLMIX" )
// //hb_SDDODBC_Register()
//#endif
Set( _SET_DATEFORMAT, "yyyy-mm-dd" )
// rddSetDefault( "SQLMIX" )
cn := win_OleCreateObject( "ADODB.Connection" )
// nConnection := rddInfo( RDDI_CONNECT, { "ODBC", "Server=localhost;Driver={MySQL ODBC 8.0 Unicode Driver};dsn=;User=root;Pwd=suasenha;" } )
cn:ConnectionString := "Server=localhost;Driver={MySQL ODBC 8.0 Unicode Driver};dsn=;User=root;Pwd=suasenha;"
cn:Open()
// IF nConnection == 0
// ? "Could not connect to server", rddInfo( RDDI_ERRORNO ), rddInfo( RDDI_ERROR )
// RETURN
// ENDIF
// ? nConnection
// ? rddInfo( RDDI_EXECUTE, "CREATE DATABASE IF NOT EXISTS `basedados`" )
cn:Execute( "CREATE DATABASE IF NOT EXISTS 'basededados'" )
// ? rddInfo( RDDI_EXECUTE, "USE `basedados`" )
// ? rddInfo( RDDI_EXECUTE, "DROP TABLE country" )
cn:Execute( "DROP TABLE country" )
// ? rddInfo( RDDI_EXECUTE, "CREATE TABLE country (CODE char(3), NAME char(50), RESIDENTS int(11))" )
cn:Execute( "CREATE TABLE country (CODE char(3), NAME char(50), RESIDENTS int(11))" )
// ? rddInfo( RDDI_EXECUTE, "INSERT INTO country values ('LTU', 'Lithuania', 3369600),('USA', 'United States of America', 305397000), ('POR', 'Portugal', //10617600), ('POL', 'Poland', 38115967), ('AUS', 'Australia', 21446187), ('FRA', 'France', 64473140), ('RUS', 'Russia', 141900000)" )
cn:Execute( "INSERT INTO country values ('LTU', 'Lithuania', 3369600),('USA', 'United States of America', 305397000), ('POR', 'Portugal', //10617600), ('POL', 'Poland', 38115967), ('AUS', 'Australia', 21446187), ('FRA', 'France', 64473140), ('RUS', 'Russia', 141900000)" )
// ? dbUseArea( .T., , "SELECT * FROM country", "country" )
rs := cn:Execute( "SELECT * FROM country" )
// ? "LASTREC:", country->(LastRec())
? rs:RecordCount()
// DO WHILE ! Eof()
DO WHILE ! :Eof()
// aI := Array( FCount() )
// FOR nI := 1 TO FCount()
FOR nI = 1 TO Rs:Fields.Count
// aI[ nI ] := FieldGet( nI )
A[ nl ] := rs:Fields( nI -1 ):Value
NEXT
// ? RecNo(), hb_ValToExp( aI )
? hb_ValToExp( al )
// dbSkip()
Rs:MoveNext()
ENDDO
// ? "LASTREC:", LastRec()
// dbCloseAll()
rs:Close()
cn:Close()
//
// RETURN
Pra quem usa XHabour... só usar ADO, dá quase no mesmo.
Pra quem usa Harbour... tem as duas opções.
Itamar M. Lins Jr. escreveu:Usei o ODBC Windows (x86, 32-bit), MSI Installer 8.0.19 para conexão.
Aí acho que ele quis dizer conector MySQL 8.0
SQLMIX, conectando e criando base e tabela via SQL.
Enviado: 15 Abr 2020 23:21
por Itamar M. Lins Jr.
Ola!
Coloque isso ai ( BROWSE() ) no seu código, antes do final, e veja se funciona.
Ou tente rodar seu código no linux... Tá muito preocupado com o xHarbour, como se não tivesse alternativa.
Para mim quanto mais liberto melhor.
Aí acho que ele quis dizer conector MySQL 8.0
Escrevi o que está lá no site de download do MYSQL, CONECTOR ODBC... Copiei e colei aqui...
Connector/ODBC 8.0.19
Saudações,
Itamar M. Lins Jr.
MYSQL SQLMIX, conectando e criando base e tabela via SQL.
Enviado: 16 Abr 2020 01:02
por JoséQuintas
Itamar M. Lins Jr. escreveu:Coloque isso ai ( BROWSE() ) no seu código, antes do final, e veja se funciona.
OOOOOOHHHHHHH
Crie um array e coloque lá browse() pra ver se funciona.
Ué... também não funciona.
MYSQL SQLMIX, conectando e criando base e tabela via SQL.
Enviado: 20 Abr 2021 10:10
por Mario Mesquita
Bom dia, pessoal.
Peguei carona no tópico, pois trata de conexão pra MySql. Baixei um conector "mysql-connector-odbc-8.0.23-win32" pra instalar. Estou usando o MySql na versão 5.7, esse conector serve?
Não tinha distinção entre ANSI ou UTF-8, vi que tem isso na string de conexão no código postado aqui. Alías, qual a string nesse caso, aquela mesmo?
É uma pergunta besta, de pato novo mesmo, rsrs... Só instalar isso e já vai conectar? Desativei a conexão com a LibMySql pra testar essa via ADO.
Tem que mexer no fonte, RDD, algo assim ou é automático?
Desculpe a chatice, procurei por aqui, mas talvez esteja em algum tópico que não achei. Desde já agradeço a ajuda.
Saudações,
Mario.
MYSQL SQLMIX, conectando e criando base e tabela via SQL.
Enviado: 20 Abr 2021 11:21
por JoséQuintas
De uma forma geral, todos funcionam com todos, salvo exceções.
Eu estou preferindo os conectores do MariaDB.
Os do MySQL são dependentes do run-time do Visual C, cada um de uma versão diferente.
Tanto faz, mas prefira as versões mais recentes.
Tenho um cliente ainda com o conector MySQL 3.51, e certos comandos falham com essa versão.
Tanto faz o conector MariaDB ou MySQL, tanto faz se o servidor for MariaDB ou MySQL.
A principal diferença é que o MariaDB é totalmente grátis, enquanto o MySQL não, apesar de ser muito usado.
O nome MySQL e os fontes foram vendidos pra Oracle, mas o MySQL open source continuou, trocando de nome pra MariaDB.
É praticamente a mesma coisa, por isso tudo funciona igual/misturado.
MYSQL SQLMIX, conectando e criando base e tabela via SQL.
Enviado: 20 Abr 2021 11:36
por Mario Mesquita
Oi, Quintas.
Pois é, o Maria é compatível e totalmente free, pensei em usa-lo mesmo mas tive receio pela vasta documentação do MySql. Mas se tudo pra ele pode ser usado pro Maria, é um caso a pensar e mudar agora antes de começar à vera. Isso de licença relativa pode ser mesmo uma preocupação, se a Oracle começar a pegar no pé.
Achei uma página de VB orientando a instalar e configurar o conector/ODBC, tem que abrir lá e configurar, né? Senão não conecta, certo?
Sds,
Mario.
MYSQL SQLMIX, conectando e criando base e tabela via SQL.
Enviado: 20 Abr 2021 14:18
por JoséQuintas
A string define tudo, incluindo o conector, nessa parte não dá pra inventar, porque qualquer erro não funciona.
Algumas que uso/usei
Código: Selecionar todos
FUNCTION ExcelConnection( cFileName, cVersion )
LOCAL oConexao
DO CASE
CASE ValType( cVersion ) == "C"
CASE ".xlsx" $ Lower( cFileName ); cVersion := "12.0 Xml" // XLSX
//CASE "t00" $ Lower( cFileName ) ; cVersion := "5.0" // 95
OTHERWISE ; cVersion := "8.0" // 97/2000/XP
ENDCASE
oConexao := win_OleCreateObject( "ADODB.Connection" )
oConexao:ConnectionString := ;
[Provider=Microsoft.ACE.OLEDB.12.0;Data Source=] + cFileName + ;
[;Extended Properties="Excel ] + cVersion + [;HDR=YES";]
RETURN oConexao
FUNCTION MySQLConnection( cServer, cDatabase, cUser, cPassword )
LOCAL cnConnection, cString
cString := iif( win_OsIs10(), "Provider=MSDASQL;", "" )
DO CASE
CASE IsMaquinaJPA(); cString += "Driver={MariaDB ODBC 3.1 Driver};"
CASE "HAROLDO" $ AppEmpresaApelido() ; cString += "Driver={MySQL ODBC 3.51 Driver};"
OTHERWISE ; cString += "Driver={MySQL ODBC 5.3 ANSI Driver};"
ENDCASE
cString += "Server=" + cServer + ";" + ;
"Port=3306;" + ;
"Stmt=;" + ;
"Database=" + cDatabase + ";" + ;
"User=" + cUser + ";" + ;
"Password=" + cPassword + ";" + ;
"Collation=latin1_swedish_ci;" + ;
"AUTO_RECONNECT=1;"
cnConnection := win_OleCreateObject( "ADODB.Connection" )
cnConnection:ConnectionString := cString
cnConnection:CursorLocation := AD_USE_CLIENT
cnConnection:CommandTimeOut := 600 // seconds
cnConnection:ConnectionTimeOut := 600 // seconds
RETURN cnConnection
FUNCTION ADSConnection( cPath )
LOCAL oConexao := win_OleCreateObject( "ADODB.Connection" )
oConexao:ConnectionString := "Provider=Advantage OLE DB Provider;" + ;
"Mode=Share Deny None;" + ;
"Show Deleted Records in DBF Tables with Advantage=False;" + ;
"Data Source=" + cPath + ";Advantage Server Type=ADS_Local_Server;" + ;
"TableType=ADS_CDX;Security Mode=ADS_IGNORERIGHTS;" + ;
"Lock Mode=Compatible;" + ;
"Use NULL values in DBF Tables with Advantage=True;" + ;
"Exclusive=No;Deleted=No;"
oConexao:CursorLocation := AD_USE_CLIENT
oConexao:CommandTimeOut := 20
RETURN oConexao
FUNCTION SQLiteConnection( cFileName )
LOCAL oConexao := win_OleCreateObject( "ADODB.Connection" )
oConexao:ConnectionString := iif( win_OsIs10(), "Provider=MSDASQL;", "" ) + ;
"Driver={SQLite3 ODBC Driver};Database=" + cFileName + ";"
oConexao:CursorLocation := AD_USE_CLIENT
oConexao:CommandTimeOut := 20
RETURN oConexao
A do SQLite usei pra conectar na biblioteca do MediaMonkey, tocador de música.
MYSQL SQLMIX, conectando e criando base e tabela via SQL.
Enviado: 20 Abr 2021 15:02
por JoséQuintas
Aproveitando....
O interessante do ADO é isso que está no post anterior: trocou a string, trocou de base de dados.
Tem particularidades nos comandos, mas a grande maioria é comum a todos.
Nessa lista tem pra Excel, MySQL, SQLite e DBF, mas a lista é grande.
O SQLMIX também tem opção de ODBC, e o Linux também tem ODBC.
Acaba abrindo possibilidade de trabalhar com qualquer base de dados.
Mas como eu já disse, todas tem a parte em comum, que não tem nada a ver com DBF.
É começar a usar, pra ir trocando as necessidades/vícios do DBF, e ir acostumando as novas bases usando SQL.
Uma vez acostumado com isso, se por acaso for trocar novamente, já não vai ter nenhum mistério.
Acostumado a abrir dezenas de arquivos DBF/CDX, é difícil acostumar que uma simples conexão é suficiente pra fazer a mesma coisa, ou que pode trazer tudo pronto, o que dependia de muito processamento.
A dificuldade maior não é aprender, é se convencer de que isso funciona mesmo.
MYSQL SQLMIX, conectando e criando base e tabela via SQL.
Enviado: 20 Abr 2021 18:30
por Mario Mesquita
Boa noite a todos.
Quintas, a ideia é de fato entrar de cabeça no SQL. Será um início difícil e trabalhoso mas com certeza vai render frutos.
Sobre o MariaDb, dá pra instalar e deixar junto com o MySql? Ou é bobagem já que um é meio igual ao outro? Se pode, os dois usam a porta 3306? Não dá conflito ter a mesma porta?
No caso de ter os dois, tenho que ter um conector pra cada um? E tem que fazer aquilo lá na ODBC, configurar senão não conecta, certo?
Notei que o HeidiSQL usa como default uma "libmariadb.dll" pro gerenciamento, né? Penso que ser os comandos são iguais, melhor ficar com o Maria. Se tudo que tem aqui de orientação pro MySql serve pro Maria nem preciso ter os dois. Mas me ocorreu uma coisa: se em um hipotético cliente já tem uma instalação de MySql. Por isso a questão de usar a mesma porta. É meio cedo para eu me preocupar com isso mas é uma possibilidade. Inclusive de ter outros SGDBs pois são tantos sistemas hoje em dia que os clientes precisam e usam que isso é uma questão importante pra quem ainda não conhece bem essas coisas.
Sds,
Mario.
MYSQL SQLMIX, conectando e criando base e tabela via SQL.
Enviado: 20 Abr 2021 22:20
por Fernando queiroz
Itamar M. Lins Jr. escreveu:Ola!
Usei o ODBC Windows (x86, 32-bit), MSI Installer 8.0.19 para conexão.
Código: Selecionar todos
#require "rddsql"
#require "sddodbc"
#include "dbinfo.ch"
#include "simpleio.ch"
REQUEST SQLMIX, SDDODBC
PROCEDURE Main()
LOCAL nConnection, nI, aI
#if defined( __HBSCRIPT__HBSHELL )
rddRegister( "SQLBASE" )
rddRegister( "SQLMIX" )
//hb_SDDODBC_Register()
#endif
Set( _SET_DATEFORMAT, "yyyy-mm-dd" )
rddSetDefault( "SQLMIX" )
nConnection := rddInfo( RDDI_CONNECT, { "ODBC", "Server=localhost;Driver={MySQL ODBC 8.0 Unicode Driver};dsn=;User=root;Pwd=suasenha;" } )
IF nConnection == 0
? "Could not connect to server", rddInfo( RDDI_ERRORNO ), rddInfo( RDDI_ERROR )
RETURN
ENDIF
? nConnection
? rddInfo( RDDI_EXECUTE, "CREATE DATABASE IF NOT EXISTS `basedados`" )
? rddInfo( RDDI_EXECUTE, "USE `basedados`" )
? rddInfo( RDDI_EXECUTE, "DROP TABLE country" )
? rddInfo( RDDI_EXECUTE, "CREATE TABLE country (CODE char(3), NAME char(50), RESIDENTS int(11))" )
? rddInfo( RDDI_EXECUTE, "INSERT INTO country values ('LTU', 'Lithuania', 3369600),('USA', 'United States of America', 305397000), ('POR', 'Portugal', 10617600), ('POL', 'Poland', 38115967), ('AUS', 'Australia', 21446187), ('FRA', 'France', 64473140), ('RUS', 'Russia', 141900000)" )
? dbUseArea( .T., , "SELECT * FROM country", "country" )
? "LASTREC:", country->(LastRec())
DO WHILE ! Eof()
aI := Array( FCount() )
FOR nI := 1 TO FCount()
aI[ nI ] := FieldGet( nI )
NEXT
? RecNo(), hb_ValToExp( aI )
dbSkip()
ENDDO
? "LASTREC:", LastRec()
dbCloseAll()
RETURN
Harbour 3.4, não precisa nem compilar!
hbrun test2.prg
Saudações,
Itamar M. Lins Jr.
em Python criar a tabela em SQL
Código: Selecionar todos
import mariadb
class ArquivosClass:
self.conn = mariadb.connect(
user=cUser,
password=cPassword,
host=cServer,
port=3306,
database=cDatabase )
self.cursor = self.conn.connection.cursor()
self.cursor.execute("CREATE TABLE country (CODE char(3), NAME char(50), RESIDENTS int(11)) ")
self.cursor.execute("INSERT INTO country values ('LTU', 'Lithuania', 3369600),('USA', 'United States of America', 305397000), ('POR', 'Portugal', 10617600), ('POL', 'Poland', 38115967), ('AUS', 'Australia', 21446187), ('FRA', 'France', 64473140), ('RUS', 'Russia', 141900000)" )
MYSQL SQLMIX, conectando e criando base e tabela via SQL.
Enviado: 20 Abr 2021 22:20
por Fernando queiroz
Itamar M. Lins Jr. escreveu:Ola!
Usei o ODBC Windows (x86, 32-bit), MSI Installer 8.0.19 para conexão.
Código: Selecionar todos
#require "rddsql"
#require "sddodbc"
#include "dbinfo.ch"
#include "simpleio.ch"
REQUEST SQLMIX, SDDODBC
PROCEDURE Main()
LOCAL nConnection, nI, aI
#if defined( __HBSCRIPT__HBSHELL )
rddRegister( "SQLBASE" )
rddRegister( "SQLMIX" )
//hb_SDDODBC_Register()
#endif
Set( _SET_DATEFORMAT, "yyyy-mm-dd" )
rddSetDefault( "SQLMIX" )
nConnection := rddInfo( RDDI_CONNECT, { "ODBC", "Server=localhost;Driver={MySQL ODBC 8.0 Unicode Driver};dsn=;User=root;Pwd=suasenha;" } )
IF nConnection == 0
? "Could not connect to server", rddInfo( RDDI_ERRORNO ), rddInfo( RDDI_ERROR )
RETURN
ENDIF
? nConnection
? rddInfo( RDDI_EXECUTE, "CREATE DATABASE IF NOT EXISTS `basedados`" )
? rddInfo( RDDI_EXECUTE, "USE `basedados`" )
? rddInfo( RDDI_EXECUTE, "DROP TABLE country" )
? rddInfo( RDDI_EXECUTE, "CREATE TABLE country (CODE char(3), NAME char(50), RESIDENTS int(11))" )
? rddInfo( RDDI_EXECUTE, "INSERT INTO country values ('LTU', 'Lithuania', 3369600),('USA', 'United States of America', 305397000), ('POR', 'Portugal', 10617600), ('POL', 'Poland', 38115967), ('AUS', 'Australia', 21446187), ('FRA', 'France', 64473140), ('RUS', 'Russia', 141900000)" )
? dbUseArea( .T., , "SELECT * FROM country", "country" )
? "LASTREC:", country->(LastRec())
DO WHILE ! Eof()
aI := Array( FCount() )
FOR nI := 1 TO FCount()
aI[ nI ] := FieldGet( nI )
NEXT
? RecNo(), hb_ValToExp( aI )
dbSkip()
ENDDO
? "LASTREC:", LastRec()
dbCloseAll()
RETURN
Harbour 3.4, não precisa nem compilar!
hbrun test2.prg
Saudações,
Itamar M. Lins Jr.
em Python criar a tabela em SQL
Código: Selecionar todos
import mariadb
class ArquivosClass:
self.conn = mariadb.connect(
user=cUser,
password=cPassword,
host=cServer,
port=3306,
database=cDatabase )
self.cursor = self.conn.connection.cursor()
self.cursor.execute("CREATE TABLE country (CODE char(3), NAME char(50), RESIDENTS int(11)) ")
self.cursor.execute("INSERT INTO country values ('LTU', 'Lithuania', 3369600),('USA', 'United States of America', 305397000), ('POR', 'Portugal', 10617600), ('POL', 'Poland', 38115967), ('AUS', 'Australia', 21446187), ('FRA', 'France', 64473140), ('RUS', 'Russia', 141900000)" )
ou de uma forma mais organizada para inserir
Código: Selecionar todos
sql = "INSERT INTO formapagamento(CODE, NAME, RESIDENTS) VALUES (?, ?, ?)"
dados = [('LTU', 'Lithuania', 3369600),
('USA', 'United States of America', 305397000),
('POR', 'Portugal', 10617600),
('POL', 'Poland', 38115967),
('AUS', 'Australia', 21446187),
('FRA', 'France', 64473140),
('RUS', 'Russia', 141900000)]
self.cursor.executemany(sql, dados)
MYSQL SQLMIX, conectando e criando base e tabela via SQL.
Enviado: 21 Abr 2021 00:45
por Itamar M. Lins Jr.
Olá!
Python, quando procurei informação notei que não tem nada.
É uma linguagem, como outra qualquer que faz uso de outras linguagens para escrever as telas.
Muito diferente do Free Pascal que o povo entorta no nariz, mas faz tudo com sua IDE(Lazarus).
Python está mais para C++ que qualquer outra coisa que se diz moderna.
Procure na internet vídeos de conexão com MariaDb/MySQL e(GRUD) telas gráficas usando Python, é o maior balaio de gato. Vai usar (QT/GTK...)
Agora faça o mesmo usando Lazarus e vai ver a distância que uma já tem da outra, tudo via CLICKS, simples.
Resumindo, vai baixar o ZEUS pela própria IDE, colocar os controles pela IDE e desenhar a tela(Linux/Windows) a mesma coisa.
Mas o Python é hoje vista como uma das "melhores" linguagens pelo menos na procura.
É de praxe, se o mercado está procurando e pagando bem, ao novo programador vamos aprender Python pq precisamos sobreviver, agora o que estão fazendo com essa quantidade enorme de aplicativos, que raramente é ou foram feitos em Python eu não sei.
Saudações,
Itamar M. Lins Jr.
MYSQL SQLMIX, conectando e criando base e tabela via SQL.
Enviado: 21 Abr 2021 16:26
por Fernando queiroz
Itamar M. Lins Jr. escreveu:Olá!
Python, quando procurei informação notei que não tem nada.
É uma linguagem, como outra qualquer que faz uso de outras linguagens para escrever as telas.
Itamar ela faz uso de frameworks voltados para o que se quer fazer ex:
Quando usamos console no Harbour nao usamos nada , Pythom a mesma coisa, pode-se usar muita coisa somente em console
quando usamos no Harbour Hwgui entre outras, no Python temos a gui padrao da linguagem a PYSIMPLEGUI, mas temos centenas de frameworks para cada coisa que voce quiser fazer.
eu optei pela PYQT5, por ter compatibilidade com:
I-OS
LINUX
WINDOWS
ANDROID
MAC-OS
existe frameworks especificamente para programas de painéis de carro/motos (é o caso da minha moto)
que Usa Linux + Python + QT
https://youtu.be/TmQua7gUGQA
no caso da QT temos o QTDesigner para desenhar as telas , depois podemos usar elas em formato .UI ou dentro do próprio Designer gerar a tela em formato Python e incorporar ao projeto como fazemos em HWGUI
pode ser compilada e entregue somente o .EXE ao cliente, ou com .DLL de acordo com seu gosto.
e tem uma infinidades de frameworks e pacotes para agregar ao projeto sem precisar ficar reinventando a roda.
https://pypi.org/
um do pacotes que mais me chamou atencao é o SELENIUM-WIRE-4.2.4 , faz milagres na WEB
MYSQL SQLMIX, conectando e criando base e tabela via SQL.
Enviado: 21 Abr 2021 17:05
por Fernando queiroz
comecei a brincar convertendo meu aplicativo de Harbour 3.2 + HWGUI + MARIADB para Python + PYQT5 + MARIADB, vamos ver no que vai dar,
será um bom aprendizado, estou gostando da brincadeira, usando alguns pacotes adicionais vai ser muito facil implementar acesso a sites para baixar NFE e coisas afins.
e também estou com a ideia de converter a SEFAZCLASS do Quintas para Python, pois os pacotes que achei disponíveis e gratuitos eram muito fraquinhos.