Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

hksistemas

Componentes para acesso a Mysql não funcionam

Recommended Posts

Boa noite a todos!

Sou novato em asp.net e uso o RAD 2007.. é o seguinte: instalei o conector.net da Mysql, o mais recente, e tb a versão anterior mas ambas apresentaram o mesmo comportamento. Os componentes não funcionam apropriadamente.. se crio algum parâmetro pelo editor de parâmetros(Paremetros[Colations]), quando eu dou Ok no editor e reabro, os parâmetros tem sumido O.o coisa de doido... a saida é criar os componentes e os parâmetros dinamicamente, e instanciando-os.. até aí tudo bem.. mas tem coisa que não funciona ainda, por exemplo, o MySqlDatareader, a função MyDataReader.Read() não funciona.. se eu tentar executar algo que dependa dessa função, recebo a mensagem que eu não posso acessar o que solicitei antes de executar um Read()..

 

algo do tipo:

(Tudo devidamente instanciado, claro.)

 

var
dr: MySqlDataReader;
mCommand: MySqlCommand;
begin
  dr:= mCommand.ExecuteReader;
  if dr.HasRows then
  begin
  dr.Read; <======== me retorna dizendo que essa linha não foi executada
  txtNome.Text:=  dr[Nome].ToString; <===== por consequencia tenho erro aqui

Não me refiri ao MySqlConnection, mas considere que com ele tá tudo ok.

 

O interessante é que, com os cmponentes nativos do RAD pra acesso ao SQLServer eu não tenho esse problema.. tudo funciona perfeitamente... seja criando componentes dinamicamente, seja pegando e soltando os objetos no form

 

tem alguma luz sobre isso?

 

abrss!

Compartilhar este post


Link para o post
Compartilhar em outros sites

hksistemas, Seja Bem Vindo ao Fórum iMasters, de uma olhada em nossas regras: Regras do Fórum iMasters

 

Normalmente o pessoal aqui trabalho com o Visual Studio utilizando ou c# ou VB. Mas vamos tentar te auxiliar.

A linguagem que esta usando parece ser uma mistura de c# com Pascal.

Onde esta o comando Sql do seu Command?

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá bruno! em primeiro lugar, obrigado pelas boas vindas! é uma boa prática essa. ;)

 

Deixe-me apresentar..

Sou moderador do Forumweb na parte de Desenvolvimento Delphi/Kylux, Vcls e Pirataria.

 

Então, o código "completo" é esse:

é uma tela de login.

 

procedure Tlogin.btLogin_Click(sender: TObject; e: System.EventArgs);
var
 mConnection: MySqlConnection;
 mCommand: MySqlCommand;
 dr: MySqlDataReader;
aSenha: string;
begin

  mCommand:= MySqlCommand.Create;
  mConnection:= MySqlConnection.Create('server=meuserver;Password=minhasenha;User=usuario;database=meubd');
  mConnection.Open;

  mCommand.Connection:= mConnection;
  mCommand.Parameters.Add('Nome',MySqlDbType.VarChar);
  mCommand.CommandText := 'select * from usuarios where UPPER(Nome) = "' + txtUser.Text + '"';

  try
   mCommand.Parameters[0].Value:= txtUser.Text.ToUpper;
  finally
   dr:= mCommand.ExecuteReader;
  
  if dr.HasRows then
  begin
  dr.Read;
	aSenha:= TxtSenha.Text;
	if (aSenha =  dr['Senha'].ToString) then
	FormsAuthentication.RedirectFromLoginPage(txtUser.Text, cbSalva.Checked)
   else
	MessageScript(Page,'Usuário ou senha incorretos!');
  end;
   mConnection.Close;
 end;
end;

É isso aí. Abçss

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.