Página 1 de 1

Comandos SQL com SQLLIB

Enviado: 22 Nov 2011 02:46
por paulovirt
Olá prezados

Antes de postar minha dúvida, gostaria de colocar aqui um trecho de um pequeno programa para testes que estou usando no intuito de experimentar comandos SQL "puro", utilizando a biblioteca do Vailton (SQLLIB). Aqui vão:

Código: Selecionar todos


*CABECALHO

#include "sqllib.ch"
REQUEST SQLLIB
REQUEST MySQL

FUNCTION MAIN

* CONEXAO COM O BANCO DE DADOS
cConn:="Driver=MySQL;ip=localhost;usuario=root;banco=seubanco"
SQL CONNECT cConn INTO nMySQL

* EXEMPLO DE COMO INSERIR DADOS 
csql:= "INSERT INTO usuarios(nome_usuario,email_usuario) VALUES ('Fulano de tal','fulano@detal.com.br')"
sqlexecute(csql)


* EXEMPLO DE COMO DELETAR DADOS
csql := "delete from usuarios where nome_usuario = 'Fulano de tal"
sqlexecute(csql)

Pois bem, meus caros, estes comandos mudam bastante a estrutura do sistema xharbour, mas garantem tratar o banco de dados de forma mais transparente. Entretanto existe um comando que não consigo executar de jeito algum. É o comando "SELECT". Gostaria que se alguém souber, me ensine.
Cheguei a criar o comando e testá-lo, mas não sei como "pegar os dados de fato" e os utilizar. Se antes usávamos o comando USE TABELA, como seria com o SQL para carregarmos as variáveis, após o SELECT?

Código: Selecionar todos

csql := "SELECT * from usuarios where nome_usuario = 'Fulano de tal'"
sqlexecute(csql)

Comandos SQL com SQLLIB

Enviado: 22 Nov 2011 09:20
por raquelreis
Bom dia paulovirt,

Eu não conheço a biblioteca (SQLLIB), mas já usei SQL com Php e Java.
Para pegar os resultados de um "Select * from Tabela" é preciso criar uma váriável,
que irá receber os valores.
exemplo:
buscaCliente := "Select * from clientes";
resultado := executa_busca(buscaCliente); //executa_busca -> é preciso ver qual o comando, em java por exemplo é executeQuery()
Enquanto(houver o próximo registro)
codigo = buscaCliente["codigo"] //Como vc definiu no Banco
nome = buscaCliente["nome"]
...
fim do Enquanto

Vendo o Manual da SQLLIB, que encontra-se no link:http://www.vailton.com.br/index.php/com ... Itemid=541
Na página 39 tem um comando "SQLARRAY()", que usa como parâmetro:
* o comando SQL;
* e o resultado do SQL

Comandos SQL com SQLLIB

Enviado: 24 Nov 2011 00:59
por paulovirt
Olá
Esse método que você utiliza para Java e PHP em também uso em PHP e ASP, mas no caso do harbour não funciona dessa forma, mas valew pela dica. Abraço.