Inquiridor
Problema em acesso Banco de Dados VS 2013 - Access [Estudante]

Pergunta
-
Estou aprendendo a programar em C# estou tentando efetuar uma conexão a um banco de dados que eu criei utilizando Microsoft access, salvei este banco no mesmo diretório da minha Solution. Porém após adicionar este banco no VS 2013 e efetuar uma connectionString ele não está localizando este banco e no final não faz nenhuma edição. ocorre o erro:
An unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in System.Data.dll
Additional information: No value given for one or more required parameters.Acusa o erro no método (dr = cmm.ExecuteReader();)
Este é meu código:
public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { if (textBox1.Text == "") { MessageBox.Show ( "Escreva um valor no codigo"); return; } OleDbConnection con = new OleDbConnection(); con.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\bdQBB.accdb;Persist Security Info=True"; con.Open(); OleDbCommand cmm = new OleDbCommand(); cmm.CommandText = "SELECT descricao, vlr_venda, vlr_compra, qtd_esoque FROM tbPRODUTOS WHERE cod_produto =" + textBox1.Text; cmm.CommandType = CommandType.Text; cmm.Connection = con; OleDbDataReader dr; dr = cmm.ExecuteReader(); dr.Read(); textBox2.Text = dr.GetString(0); con.Close(); } } } }
Já tentei utilizar o Wizzard para efetuar o processo automaticamente mas mesmo assim o erro persiste.
Todas as Respostas
-
Estou aprendendo a programar em C# estou tentando efetuar uma conexão a um banco de dados que eu criei utilizando Microsoft access, salvei este banco no mesmo diretório da minha Solution. Porém após adicionar este banco no VS 2013 e efetuar uma connectionString ele não está localizando este banco e no final não faz nenhuma edição. ocorre o erro:
An unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in System.Data.dll
Additional information: No value given for one or more required parameters.Acusa o erro no método (dr = cmm.ExecuteReader();)
Este é meu código:
public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { if (textBox1.Text == "") { MessageBox.Show ( "Escreva um valor no codigo"); return; } OleDbConnection con = new OleDbConnection(); con.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\bdQBB.accdb;Persist Security Info=True"; con.Open(); OleDbCommand cmm = new OleDbCommand(); cmm.CommandText = "SELECT descricao, vlr_venda, vlr_compra, qtd_esoque FROM tbPRODUTOS WHERE cod_produto =" + textBox1.Text; cmm.CommandType = CommandType.Text; cmm.Connection = con; OleDbDataReader dr; dr = cmm.ExecuteReader(); dr.Read(); textBox2.Text = dr.GetString(0); con.Close(); } } } }
Já tentei utilizar o Wizzard para efetuar o processo automaticamente mas mesmo assim o erro persiste.
Fulvio C
-
-
Olá Maglionii,
Nâo sei se entendi bem seu problema mas tente dar uma olhada nesse link.
Leopoldo A. Nascimento (Ajude o máximo que puder, que assim será feito por você.) - Foi útil esta resposta? Então marque. ;)
- Sugerido como Resposta Leopoldo Nascimento sexta-feira, 13 de maio de 2016 18:50
-
Amigo, boa tarde!
Crie uma classe
Segue exemplo:
using System;
using System.Collections.Generic;
using System.Text;
using System.Data.OleDb;
using System.Data;
namespace Escolinha
{
public class Aluno_ADO
{
private String strconn;
private OleDbConnection conn;
public Aluno_ADO() // codigo abaixo para a conexão com a base de dados;
{
strconn = @"Provider=Microsoft.Jet.OLEDB.12.0;Data Source=|DataDirectory|\gvida.mdb";
conn = new OleDbConnection(strconn);
}
public DataTable RetornaID(int Id) //retorna a consulta pelo nº de ID
{
// já inicializada no construtor
// SqlConnection conn = new SqlConnection(strconn);
//conn.Open();
String sqlProduto = " Select * From OS Where " +
" OS.Id = @Id ORDER BY [Id] DESC ";
OleDbCommand cmdProduto = new OleDbCommand(sqlProduto, conn);
cmdProduto.Parameters.AddWithValue("@Id", Id);
OleDbDataAdapter da = new OleDbDataAdapter();
da.SelectCommand = cmdProduto;
//DataSet ds = new DataSet();
DataTable dt = new DataTable();
//da.Fill(ds);
da.Fill(dt);
//return ds.Tables[0];
return dt;
}
}No seu formulário você estancia a classe e chama o método da classe:
Escolinha es = new Escolinha();
dataGridView1.DataSource = ado.Retorna_ID(TextBox1.Text);
Espero ter ajudado, caso seja útil não esqueça de marcar como resposta.
Abraços!
Jimi Anderson
- Sugerido como Resposta Anderson Mac terça-feira, 22 de dezembro de 2015 14:06