[firebase-br] Conexão com firebird e C#?

Felipe Oriani fboriani em gmail.com
Qui Fev 12 13:11:54 -03 2009


Olá Pessoal...blz


Marcelo, para executar uma Store Procedure pelo C#, você deve passar os
parametros para ela, como se fossem "?", por exemplo:


 FbCommand fcmUsuario = new FbCommand("AutenticaUsuario(?,?)", fcnUsuario);

//adiciona os parametros

FbDataReader reader = fcmUsuario.ExecuteReader();

if (reader.Read())
{
//usuario autenticado... e pode recuperar informações presentes no
DataReader
}


Espero que ajude!
[]'s



2009/2/12 Marcelo Guilherme Tamanini <marcelo_tamanini em hotmail.com>

>
> Então, na verdade eu copiei como estava escrito no sql server:
> STP_AutenticaUsuario
>
> Sem aspas.
> Só que como estou utilizando o IBExpert, ele acabou colocando como tudo
> maiúsculo, ficando:
> CREATE OR ALTER PROCEDURE STP_AUTENTICAUSUARIO (
>    usuario varchar(30) character set win1252,
>    senha varchar(20) character set win1252)
> returns (
>    codusuario integer)
> as
> begin
>  SELECT CodUsuario
>  FROM TB_Usuario
>  WHERE Usuario = :Usuario AND Senha = :Senha
>  INTO :CodUsuario;
>  suspend;
> end^
>
> O firebird é case sensitive?
> No caso, tenho que deixar o código em C# tudo maiúsculo?
> Assim como os parâmetros tem que estar em minusculo, no caso?
> Ficando:
>  FbConnection fcnUsuario = new
>  FbConnection(Dados.StringDeConexao);
>  FbCommand fcmUsuario = new FbCommand("STP_AUTENTICAUSUARIO",
>  fcnUsuario);
>  fcmUsuario.CommandType = CommandType.StoredProcedure;
>
>  try
>  {
>  fcmUsuario.Parameters.AddWithValue("usuario", nome);
>  fcmUsuario.Parameters.AddWithValue("senha", senha);
>  fcnUsuario.Open();
>  int resultado = Convert.ToInt32(fcmUsuario.ExecuteScalar());
>
> É isso?
>
>
>
>
> > From: kdcc em terra.com.br
> > To: lista em firebase.com.br
> > Date: Thu, 12 Feb 2009 11:58:05 -0200
> > Subject: Re: [firebase-br] Conexão com firebird e C#?
> >
> > Quanto vc criou a SP, não usou o nome entre aspas ?
> >
> > Se usou  ele só reconhece se for escrito exatamente igual.
> >
> > Por padrão, me acostumei a escrever nome de tabelas, campo, SP, TG, etc
> > sempre em maiusculo e sem aspas. Ai ele pode ser acessado de qualquer
> jeito.
> >
> >
> > []´s
> >
> > Kléber Caneva
> >
> >
> > ----- Original Message -----
> > From: "Marcelo Guilherme Tamanini" <marcelo_tamanini em hotmail.com>
> > To: <lista em firebase.com.br>
> > Sent: Thursday, February 12, 2009 11:47 AM
> > Subject: [firebase-br] Conexão com firebird e C#?
> >
> >
> >
> > Olá pessoal.
> >
> > Mais um problema que estou tendo:
> > Eu consigo me conectar no banco de dados, mas na hora que peço para
> executar
> > uma procedure, ele gera um erro dizendo que não existe essa procedure,
> > alguém saberia me dizer o motivo?
> >
> > A procedure é essa abaixo:
> > begin
> >   SELECT CodUsuario
> >   FROM TB_Usuario
> >   WHERE Usuario = :Usuario AND Senha = :Senha
> >   INTO :CodUsuario;
> >   suspend;
> > end
> >
> >
> > E quanto ao código em C#:
> >             FbConnection fcnUsuario = new
> > FbConnection(Dados.StringDeConexao);
> >             FbCommand fcmUsuario = new FbCommand("STP_AutenticaUsuario",
> > fcnUsuario);
> >             fcmUsuario.CommandType = CommandType.StoredProcedure;
> >
> >             try
> >             {
> >                 fcmUsuario.Parameters.AddWithValue("Usuario", nome);
> >                 fcmUsuario.Parameters.AddWithValue("Senha", senha);
> >                 fcnUsuario.Open();
> >                 int resultado =
> Convert.ToInt32(fcmUsuario.ExecuteScalar());
> > //erro: sql error code: -204 Procedure unknown
> >
> >                 if (resultado <= 0)
> >                 {
> >                     throw new Exception("Usuário ou senha inválido! Tente
> > novamente!");
> >                 }
> >             }
> >             catch (FbException ex)
> >             {
> >                 throw new Exception("Servidor SQL Erro: " + ex.ErrorCode
> + "
> > " + ex.Message);
> >             }
> > ...
> >
> >
> >
> >
> > _________________________________________________________________
> > News, entertainment and everything you care about at Live.com. Get it
> now!
> > http://www.live.com/getstarted.aspx
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > http://www.firebase.com.br/fb/artigo.php?id=1107
> > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
> >
> > E-mail verificado pelo Terra Anti-Spam.
> > Para classificar esta mensagem como spam ou não spam, visite
> >
> http://mail.terra.com.br/cgi-bin/reportspam.cgi?+_d=SCY0NDU0NzM0I3Blcm0hdGVycmEmMSwxMjM0NDQ2NTE0LjgyMjgxNC4yNDE4NC5jYWJyZXRvbi50ZXJyYS5jb20sNDc4NA==
> > Verifique periodicamente a pasta Spam para garantir que apenas mensagens
> > indesejadas sejam classificadas como Spam.
> >
> >
> >
> > ______________________________________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> > Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
> _________________________________________________________________
> News, entertainment and everything you care about at Live.com. Get it now!
> http://www.live.com/getstarted.aspx
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



-- 
______________________________________
Felipe B. Oriani
email: fboriani em gmail.com
www.felipeoriani.com.br



Mais detalhes sobre a lista de discussão lista