Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa noite,
Amigos estou estudando C# + Firebird e o professor pediu que fosse desenvolvido um Form para Cadastrar e Mostrar os dados Cadastrados em uma dataGridView1 na mesma tela do cadastro. Algo bem simples dentro daquilo que já aprendemos. Eu desenvolvi e acontece o seguinte:
Enquanto não tem dado nenhum cadastrado se eu clico no botão exibir ele me retorna os campos da tabela do BD em branco normalmente, porém quando eu Insiro um Dado esse é gravado normalmente (verifiquei no Ibexpert) mas se eu após gravar clicar em Exibir acusa um erro onde tem DA.Fill(DS, "aula"); Acusando que o arquivo não foi encontrado.
Esse é o código completo que eu fiz:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using FirebirdSql.Data.FirebirdClient;
namespace BancodDados
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void BtnExibir_Click(object sender, EventArgs e)
{
string strconn = "User=SYSDBA;Password=masterkey;Database=C:\\teste\\teste.FDB;DataSource=localhost;Port=3050;Dialect=3;Charset=NONE;Role=;Connection lifetime=0;Connection timeout=15;Pooling=True;PacketSize=8192;Server Type=0";
FbConnection conn = new FbConnection(strconn);
FbCommand cmd = new FbCommand("select * from aula", conn);
FbDataAdapter DA = new FbDataAdapter(cmd);
DataSet DS = new DataSet();
conn.Open();
DA.Fill(DS, "aula");
dataGridView1.DataSource = DS;
dataGridView1.DataMember = "aula";
conn.Close();
}
private void btnGravar_Click(object sender, EventArgs e)
{
string strSQL = "";
string s = "User=SYSDBA;Password=masterkey;Database=C:\\teste\\teste.FDB;DataSource=localhost;Port=3050;Dialect=3;Charset=NONE;Role=;Connectionlifetime=0;Connection timeout=15;Pooling=True;Packet Size=8192;ServerType=0";
FbConnection con = new FbConnection(s);
FbCommand cmd = new FbCommand();
FbParameter[] prmParametro = new FbParameter[2];
prmParametro[0] = new FbParameter("@CODIGO", txbCodigo.Text);
prmParametro[1] = new FbParameter("@NOME", txbNome.Text);
strSQL = "insert into aula (CODIGO, NOME) values (@CODIGO, @NOME)";
foreach (FbParameter p in prmParametro)
{
cmd.Parameters.Add(p);
}
try
{
con.Open();
cmd.Connection = con;
cmd.CommandType = CommandType.Text;
cmd.CommandText = strSQL.ToString();
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
finally
{
if ((cmd != null))
{
cmd.Dispose();
}
if (con.State != ConnectionState.Closed)
{
con.Close();
con.Dispose();
}
}
}
}
}
Quem puder me dar uma forcinha para fazer funcionar desse jeito... agradeço.
Só gostaria que não fosse nada que fosse muito além disso para que eu não pule etapas, não adianta fazer e não enteder.
Abraços
Carregando comentários...