Firebird , VISUAL STUDIO 2010

08/09/2012

0

Boa tarde, Pessoal

sou iniciante, alguem pode me auxiliar
tenho uma aplicação feita no visual studio com banco firebird.
queria saber como faço pra inserir o codigo automaticamente na hora de cadastrar "add new item" .
tenho uma tabela aluno com atributo "ID_ALUNO", no formulario na hora que eu for cadastrar novo aluno o campo "ID_ALUNO"
fica em branco, tenho q informar o codigo manualmente.

qual melhor maneira pra ele trazer ultimo codigo do banco, ou outra maneira de aplicação trazer preenchido.?
Joelson Reis

Joelson Reis

Responder

Posts

08/09/2012

Thiago Porto

Você pode fazer dá seguinte forma: faz um método que retorna um inteiro, e faz uma consulta no banco no gerador do id da tabela, assim: 'SELECT GEN_ID (NOME_DO_GERADOR, 1) FROM RDB$DATABASE';
Ai toda vez que vc for cadastrar um novo, pede para o código receber esse método, a outra forma é fazer uma stored de procedure usando insert into...
Responder

08/09/2012

Joelson Reis

Você pode fazer dá seguinte forma: faz um método que retorna um inteiro, e faz uma consulta no banco no gerador do id da tabela, assim: 'SELECT GEN_ID (NOME_DO_GERADOR, 1) FROM RDB$DATABASE';
Ai toda vez que vc for cadastrar um novo, pede para o código receber esse método, a outra forma é fazer uma stored de procedure usando insert into...


Ok, vou tentar implementar depois posto aqui..
Responder

10/09/2012

Joelson Reis

Você pode fazer dá seguinte forma: faz um método que retorna um inteiro, e faz uma consulta no banco no gerador do id da tabela, assim: 'SELECT GEN_ID (NOME_DO_GERADOR, 1) FROM RDB$DATABASE';
Ai toda vez que vc for cadastrar um novo, pede para o código receber esse método, a outra forma é fazer uma stored de procedure usando insert into...


amigo desculpa a demora para responder,

entende mas não consegue implementar, tenho um gen_aluno no meu banco, tenho uma trig atualizando certinho.

mas não sei onde implementar isso no visual studio, pois ele não trouxe meu generators.
Responder

10/09/2012

Thiago Porto

Dentro de uma classe faça assim: primeiro dê uses nas dll do firebird;
public string SqlCon = @"User=SYSDBA;Password=masterkey;Database=C:\DB.FDB;DataSource=localhost;";

public int GetId()
{
    var con = new FbConnection(SqlCon);
    var SQL = "SELECT GEN_ID(NOME_DO_GERADOR,1) FROM RDB$DATABASE";
    var cmd = new FbCommand(SQL,con);
    if (conn.State == System.Data.ConnectionState.Closed)
    {
      conn.Open();
    }  
    cmd.CommandType = System.Data.CommandType.Text;                                        
    FBDataReader dr = cmd.ExecuteReader();
    return Convert.ToInt32(dr["nome_do_gerador"]);
}
Responder

11/09/2012

Joelson Reis

Dentro de uma classe faça assim: primeiro dê uses nas dll do firebird;
public string SqlCon = @"User=SYSDBA;Password=masterkey;Database=C:\DB.FDB;DataSource=localhost;";

public int GetId()
{
    var con = new FbConnection(SqlCon);
    var SQL = "SELECT GEN_ID(NOME_DO_GERADOR,1) FROM RDB$DATABASE";
    var cmd = new FbCommand(SQL,con);
    if (conn.State == System.Data.ConnectionState.Closed)
    {
      conn.Open();
    }  
    cmd.CommandType = System.Data.CommandType.Text;                                        
    FBDataReader dr = cmd.ExecuteReader();
    return Convert.ToInt32(dr["nome_do_gerador"]);
}


Boa noite,

Thiago

Venho aqui abusar da sua boa vontade,

Mas sou iniciante nessa área de POO,

Fiz a classe ficou assim.

using FirebirdSql.Data.FirebirdClient;

namespace sampleteste
{
class teste
{
public string SqlCon = @"User=SYSDBA;Password=masterkey;Database=C:\guardian\base\GUARDIAN.FDB;DataSource=localhost;";

public int GetId()


{
var con = new FbConnection(SqlCon);
var SQL = "SELECT GEN_ID(GEN_ALUNO,1) FROM RDB$DATABASE";
var cmd = new FbCommand(SQL,con);
if (con.State == System.Data.ConnectionState.Closed)
{
con.Open();
}
cmd.CommandType = System.Data.CommandType.Text;
FbDataReader dr = cmd.ExecuteReader();
return Convert.ToInt32(dr["GEN_ALUNO"]);


}

O campo que ira retorna o GEN_ALUNO, seria esse.

private void iD_ALUNOTextBox_TextChanged(object sender, EventArgs e)
{
teste tst = new teste();
tst.GetId();
}

Como ficaria aqui?


Thiago

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar