ribeiro55 Posted June 17, 2009 at 09:14 PM Report Share #273195 Posted June 17, 2009 at 09:14 PM Titulo do Projecto: QATDB - QueryAble Text Data Base Última Versão: 0.48 BETA Site Oficial: http://www.risingcognition.com/dev/ TBA Líder do Projecto: Sérgio Ribeiro (ribeiro55) Descrição do Projecto: Sistema de base de dados baseada num ficheiro de texto. Ideal para utilizar em pequenas necessidades de pequenas aplicações que não justifiquem soluções Microsoft e semelhantes. Mais pontos no site (em Inglês) Encontra-se na sua versão BETA, pelo que não se garante a perfeição das suas funcionalidades. Sérgio Ribeiro "Great coders aren't born. They're compiled and released""Expert coders do not need a keyboard. They just throw magnets at the RAM chips" Link to comment Share on other sites More sharing options...
undercover Posted June 18, 2009 at 10:04 AM Report Share #273281 Posted June 18, 2009 at 10:04 AM nesse âmbito acho que já existe este http://www.sqlite.org/ embora ñ seja um ficheiro texto Link to comment Share on other sites More sharing options...
ribeiro55 Posted June 18, 2009 at 10:06 AM Author Report Share #273282 Posted June 18, 2009 at 10:06 AM Ora, claro que existe. Se fossemos por aí não se fazia nada. 😁 Queria apenas provar (nem que seja a mim mesmo) que um Portuga sem formação conseguia fazer algo que se chegasse perto. Sérgio Ribeiro "Great coders aren't born. They're compiled and released""Expert coders do not need a keyboard. They just throw magnets at the RAM chips" Link to comment Share on other sites More sharing options...
undercover Posted June 18, 2009 at 11:27 AM Report Share #273316 Posted June 18, 2009 at 11:27 AM Desculpa lá, não tinha percebido que já tinhas algo feito, do que vi gostei, continua o bom trabalho. Link to comment Share on other sites More sharing options...
Ridelight Posted June 18, 2009 at 11:33 AM Report Share #273318 Posted June 18, 2009 at 11:33 AM Tambem me pareceu um projecto bem estruturado, feito com "cabeça tronco e membros". Regras do FÓRUM Link to comment Share on other sites More sharing options...
bruno1234 Posted June 18, 2009 at 08:47 PM Report Share #273448 Posted June 18, 2009 at 08:47 PM Tá fixe, tás no bom caminho. Matraquilhos para Android. Gratuito na Play Store. https://play.google.com/store/apps/details?id=pt.bca.matraquilhos Link to comment Share on other sites More sharing options...
ribeiro55 Posted June 18, 2009 at 09:14 PM Author Report Share #273455 Posted June 18, 2009 at 09:14 PM Confesso que a utilização possa ser um pouco vaga e que o PDF não esteja 100% virado para a explicação exaustiva. Conto fazer uns videos de explicação (como os da Microsoft) para o pessoal que estiver interessado. Por falar no pessoal que estiver interessado em exprimentar, respondo a qualquer post aqui ou PM em relação à QATLANG 😛 O QAT eXplorer foi feito inteiramente com chamadas à biblioteca, para demonstrar a capacidade de independência que o motor tem. Por outras palavras, é possível a qualquer pessoa fazer um QAT eXplorer. Tenho programadas umas adições interessantes como a capacidade de fazer JOINS, argumentos na query e stored procedures. Sérgio Ribeiro "Great coders aren't born. They're compiled and released""Expert coders do not need a keyboard. They just throw magnets at the RAM chips" Link to comment Share on other sites More sharing options...
softklin Posted June 20, 2009 at 05:12 PM Report Share #273811 Posted June 20, 2009 at 05:12 PM Ora bem, como sou suficientemente preguiçoso para usar SQLite 😄 resolvi dar uma oportunidade ao teu produto. O que acontece é que nem uma base de dados consigo criar. Faço código para criar a instância, tudo bem, e depois quando chamo a função createDatabase é que o caldo fica entornado... Vou colocar aqui o código que fiz: Public Class Form1 Dim x As QATDB.QATCore Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load x = New QATDB.QATCore() x.DebugMode = True End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If x.CreateDatabase("wcconfig", "wcadmin", "wcconfig", My.Application.Info.DirectoryPath & "\") Then MsgBox("Base de dados wcconfig criada!") Else MsgBox(x.LastErrorMessage) End If End Sub End Class Ele vai-me parar sempre ao lastError, com a mensagem: 20-06-2009 [18:10:36] - Unable to write the QAT database file. O directório onde me encontro: C:\Documents and Settings\Andre Silva\Os meus documentos\Visual Studio 2008\Projects\QATDB testing\QATDB testing\bin\Debug Já tentei com e sem a barra final, caminho relativo "./", mas dá o mesmo erro... É do programa, ou fui eu que meti água? EDIT: Meti água... Afinal tinha de se indicar o caminho + ficheiro. :\ Nick antigo: softclean | Tens um projeto? | Wiki P@P Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post. Link to comment Share on other sites More sharing options...
softklin Posted June 20, 2009 at 08:55 PM Report Share #273827 Posted June 20, 2009 at 08:55 PM Bom, estive a utilizar esta biblioteca até agora, e gostei, porque mesmo o facto da documentação estar ainda um pouco incompleta, não me impediu de ler e gravar os dados. Só tenho uma sugestão, que no meu ponto de vista seria uma mais valia para o projecto: Excepções: Para ser sincero, preferia um mecanismo de excepções em vez do actual de true/false e consulta ao lastErrorMessage. Primeiro, porque o lastErrorMessage mostra também mensagens de sucesso, e fica difícil criar programaticamente um mecanismo para apanhar erros de queries num ciclo, por exemplo. Depois, o true/false... Repara: if not db.CreateDatabase("dcconfig", "dcadmin", "dcconfig", "dcconfig.db") then msgbox "ocorreu um erro ao criar" end end if ' tabela de opcões if not db.AddTable("options") then msgbox "ocorreu um erro criar tabela options" endif Agora com um sistema de excepções: try db.CreateDatabase("dcconfig", "dcadmin", "dcconfig", "dcconfig.db") db.AddTable("options") catch ex as QATException msgbox "Ocorreu um erro: " & ex.toString end try Com excepções evitas aquele molho de if's pelo meio do código. QATException seria uma classe que estende a classe Exception, na qual poderias criar os teus próprios códigos de erro, e por exemplo, separar a parte de relatório de erros do projecto numa classe à parte. De resto gostei muito e tem tudo o que preciso para um projecto que estou a reanimar, precisamente pela falta de um local onde guardar as configurações. Mas já agora, tenho outra dúvida (menos parva espero...): estou a guardar strings com espaços no num campo, e por alguma razão que ainda não entendi, a query continua a dar erro de sintaxe, já revi as virgulas e parece estar tudo bem. Como nos teus exemplos não tinhas nada exemplos com espaços nas strings, pergunto se isso é suportado ou ainda não? E valores com virgulas? Nick antigo: softclean | Tens um projeto? | Wiki P@P Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post. Link to comment Share on other sites More sharing options...
ribeiro55 Posted June 20, 2009 at 10:35 PM Author Report Share #273837 Posted June 20, 2009 at 10:35 PM Felizmente estou a implementar novos métodos para o errorcatcher onde podes escolher se queres lançar excepções ou disparar eventos, com o erro ou mensagem detalhado e mais individualizado. Quanto à segunda parte, quis implementar um sistema sem datatypes mas parece que estou a complicar o conceito 😄 Para preparares o valor que queres enviar em query, tens de o Modular. Explico isso, um pouco mal confesso, na referência, sobre o título "Modulation and Demodulation" O modulador/desmodulador está disponível na lib. Usa o QAT eXplorer, clica no campo de escrever a query e depois carrega no botão à esquerda, com um "M" (de Modulate). Vai-te aparecer uma caixa para escreveres. Escreve algo com espaços e vírgulas e tudo o que te lembres. Ao carregares no OK, a introdução é modulada. Para além disso, em cima da caixa de query tem uma série de caracteres que são utilizados internamente que quando clicados são passados para a caixa de query, já modulados. Por exemplo, o espaço modulado fica #s Não queria desistir da auto-detecção de datatypes e utilizar as aspas ou pelicas, pelo menos ainda não 🙂 Existem alguns pormenores como o AutoID que também são importantes e podem não estar muito explícitos. Vou fazer, assim que tiver oportunidade, uns videos tipo os da Microsoft, com ambientes de teste e todo o tipo de situações. Entretanto detectei também uns bugs na modulação, que nessa versão és capaz de descobrir, que já estão resolvidos. Vou subir a versão, oficialmente, segunda ou terça feira. Fico bastante contente em saber que alguém, no mínimo, teve curiosidade em espreitar a lib 😁 Estava relutante em implementar JOINS e retorno de nomes de colunas, mas isto assim anima 🙂 Obrigado. Sérgio Ribeiro "Great coders aren't born. They're compiled and released""Expert coders do not need a keyboard. They just throw magnets at the RAM chips" Link to comment Share on other sites More sharing options...
softklin Posted June 21, 2009 at 08:07 AM Report Share #273853 Posted June 21, 2009 at 08:07 AM Esta biblioteca funciona e dá para as minhas necessidades, porque não usá-la? 😄 Quanto ao facto de ter de modular dados, não fazia a mínima ideia, confesso que não li essa parte do manual ? Não experimentei exaustivamente, mas não há problemas se a query contiver o cardinal? (se calhar é o tal que já está resolvido) por exemplo: e se escrever assim #s e#sse#sescrever#sassim:#s#s De qualquer das maneiras, vou aguardar por essa actualização, e depois cá devo estar eu novamente 😄 Cumps. EDIT: Os métodos do QATTools são estáticos? Pela documentação dá aspecto de o serem, no exemplo da msgbox, mas no uso, tens de se instanciar a class QATTools. Nick antigo: softclean | Tens um projeto? | Wiki P@P Ajuda a comunidade! Se encontrares algo de errado, usa a opção "Denunciar" por baixo de cada post. Link to comment Share on other sites More sharing options...
ribeiro55 Posted June 21, 2009 at 11:10 AM Author Report Share #273867 Posted June 21, 2009 at 11:10 AM Não são estáticos mas é uma hella'good idea 🙂 Nessa versão tens de instanciar QATTools. A próxima versão já vai ter muita coisinha nova! Ter um user é diferente do que ser so eu e um colega meu a usar é mesmo produtivo 😁 Já descobri mais cenas para melhorar agora contigo do que no mes ou 2 meses há que esta biblioteca foi escrita 😄 Quanto aos cardinais, não tem problema nenhum. É alias, assim que deve de ir. Pensei que fosse mais fácil, em termos programáticos porque não tens de te preocupar com pelicas ou aspas, basta modular o valor. Mas ainda vou pensar se vale a pena enviar todos os valores com aspas ou pelicas, para evitar a modulação, para além dos já, a meio caminho, parametros. Sérgio Ribeiro "Great coders aren't born. They're compiled and released""Expert coders do not need a keyboard. They just throw magnets at the RAM chips" Link to comment Share on other sites More sharing options...
ribeiro55 Posted June 22, 2009 at 09:45 PM Author Report Share #274260 Posted June 22, 2009 at 09:45 PM Libertei uma nova versão. 0.42B que já conta com a tua sugestão de error reporting, colunas nomeadas em datatable e parâmetros. As QATTools são agora métodos estáticos. Nem fazia sentido não serem. Obrigado B) Também resolvidos estão os problemas com a modulação/desmodulação. O QAT eXplorer também subiu de versão para suportar parâmetros. De novo, sempre "aval" para dúvidas. Sérgio Ribeiro "Great coders aren't born. They're compiled and released""Expert coders do not need a keyboard. They just throw magnets at the RAM chips" Link to comment Share on other sites More sharing options...
ribeiro55 Posted July 6, 2009 at 11:29 AM Author Report Share #277367 Posted July 6, 2009 at 11:29 AM Nova versão. 0.43B em http://www.risingcognition.com/qat/ Esta versão já conta com 4 adicionais funções à QATLANG e suporte para operações com datas. Funções adicionadas: FIRST Para apanhar certa coluna do primeiro registo LAST Para apanhar certa coluna do último registo LUCKPICK Para apanhar certa coluna de um registo aleatório MATCHLIST Uma espécie de JOIN do MSSQL para complementar dados da tabela base com dados de outras tabelas. Toda a síntaxe nova está exemplificada no QATeXplorer, bem como todas as funcionalidades previstas, pelo que é boa ideia começar por aí. Sérgio Ribeiro "Great coders aren't born. They're compiled and released""Expert coders do not need a keyboard. They just throw magnets at the RAM chips" Link to comment Share on other sites More sharing options...
scorch Posted July 6, 2009 at 02:13 PM Report Share #277421 Posted July 6, 2009 at 02:13 PM Tento abrir o eXplorer e o Windows diz-me sempre que ele deixou de funcionar. 😛 PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum. Link to comment Share on other sites More sharing options...
ribeiro55 Posted July 6, 2009 at 02:20 PM Author Report Share #277424 Posted July 6, 2009 at 02:20 PM Para além da Framework instalada precisas de ter o QATDB.DLL junto do executável. Isso pode ser causado por estares a tentar abrir directamente do ZIP. Sérgio Ribeiro "Great coders aren't born. They're compiled and released""Expert coders do not need a keyboard. They just throw magnets at the RAM chips" Link to comment Share on other sites More sharing options...
scorch Posted July 6, 2009 at 02:22 PM Report Share #277426 Posted July 6, 2009 at 02:22 PM Eu estraí tudo para o Desktop. Tenho lá o QATDB.dll e o QATDB eXplorer.exe. Tenho a .Net Framework instalada, porque tenho o VB 2008 Express. PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum. Link to comment Share on other sites More sharing options...
ribeiro55 Posted July 6, 2009 at 02:25 PM Author Report Share #277429 Posted July 6, 2009 at 02:25 PM :S Então não sei... é estranho. 😛👍 Vou tentar extraír para outra máquina que não a minha. Pode ser algum granel com o ZIP. Sérgio Ribeiro "Great coders aren't born. They're compiled and released""Expert coders do not need a keyboard. They just throw magnets at the RAM chips" Link to comment Share on other sites More sharing options...
ribeiro55 Posted July 6, 2009 at 02:30 PM Author Report Share #277430 Posted July 6, 2009 at 02:30 PM 3 máquinas diferentes, duas com Vista uma com XP, correu em todas. 😛 Sérgio Ribeiro "Great coders aren't born. They're compiled and released""Expert coders do not need a keyboard. They just throw magnets at the RAM chips" Link to comment Share on other sites More sharing options...
scorch Posted July 6, 2009 at 02:34 PM Report Share #277431 Posted July 6, 2009 at 02:34 PM O meu é o vista, mas então não percebo. 😛 PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now