EXECUTAR UMA CONSULTA DO ACCESS USANDO C#
Olá pessoal
Como executar uma consulta [Ô]Criar Tabela[Ô] do ACCESS usando c#
No aguardo
Pierre
Como executar uma consulta [Ô]Criar Tabela[Ô] do ACCESS usando c#
No aguardo
Pierre
EIADVANCED,
Indiferente de ser no C# ou qualquer outra linguagem, a query vai rodar no seu banco, no caso Access, portanto será apenas conectar ao banco e executar o comando CREATE TABLE.
Aproveitando, há alguns tópicos que estão longo tempo sem movimento. Você poderia encerrá-los ou dar continuidade, por gentileza?
http://vbmania.com.br/index.php?modulo=forum&metodo=abrir&id=457663&pagina=1 (15/02/2016)
http://vbmania.com.br/index.php?modulo=forum&metodo=abrir&id=362327&pagina=1 (14/01/2011)
http://vbmania.com.br/index.php?modulo=forum&metodo=abrir&id=362192&pagina=1 (13/01/2011)
http://vbmania.com.br/index.php?modulo=forum&metodo=abrir&id=355910&pagina=1 (26/01/2010)
A sintaxe do Create Table, para o Access, você encontra facilmente em uma busca no google. Poderia colocar alguns links aqui, mas se você pesquisar irá direto aos links que atendam melhor a sua pesquisa.
Tudo de bom.
Indiferente de ser no C# ou qualquer outra linguagem, a query vai rodar no seu banco, no caso Access, portanto será apenas conectar ao banco e executar o comando CREATE TABLE.
Aproveitando, há alguns tópicos que estão longo tempo sem movimento. Você poderia encerrá-los ou dar continuidade, por gentileza?
http://vbmania.com.br/index.php?modulo=forum&metodo=abrir&id=457663&pagina=1 (15/02/2016)
http://vbmania.com.br/index.php?modulo=forum&metodo=abrir&id=362327&pagina=1 (14/01/2011)
http://vbmania.com.br/index.php?modulo=forum&metodo=abrir&id=362192&pagina=1 (13/01/2011)
http://vbmania.com.br/index.php?modulo=forum&metodo=abrir&id=355910&pagina=1 (26/01/2010)
A sintaxe do Create Table, para o Access, você encontra facilmente em uma busca no google. Poderia colocar alguns links aqui, mas se você pesquisar irá direto aos links que atendam melhor a sua pesquisa.
Tudo de bom.
Euzébio, bom dia
A consulta já está pronta no access que faz a criação da tabela, preciso executar ela pelo C# é possÃvel?
No aguardo,
Pierre
A consulta já está pronta no access que faz a criação da tabela, preciso executar ela pelo C# é possÃvel?
No aguardo,
Pierre
Pierre,
Sim é possÃvel. Em qualquer linguagem.
Se sua query que cria o a tabela está pronta, basta executá-la.
Em qualquer local de seu código onde você executa comandos como [Ô]select * from...[Ô] você pode executar query [Ô]Create Table nome_da_sua_tabela (lista de campos com tipos de dados)[Ô]. O procedimento é o mesmo, só muda a query.
Coloque aqui o seu código de conexão ao banco e o código com a query de criação da tabela que fica mais fácil ajudar.
Sim é possÃvel. Em qualquer linguagem.
Se sua query que cria o a tabela está pronta, basta executá-la.
Em qualquer local de seu código onde você executa comandos como [Ô]select * from...[Ô] você pode executar query [Ô]Create Table nome_da_sua_tabela (lista de campos com tipos de dados)[Ô]. O procedimento é o mesmo, só muda a query.
Coloque aqui o seu código de conexão ao banco e o código com a query de criação da tabela que fica mais fácil ajudar.
Euzébio,
Segue código abaixo, em anexo envio tela de erro
private OleDbTransaction transacao;
public void LeAccessCriaTeste(string caminho, int clienteid)
{
OleDbCommand comandoSQL;
OleDbConnection conecta;
DataTable dt = new DataTable();
conecta = new OleDbConnection(@[Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=[Ô] + caminho + [Ô];[Ô]);
conecta.Open();
this.transacao = conecta.BeginTransaction();
try
{
const string DatabasePath = @[Ô]~\\banco\\Dimed.mdb[Ô]; //Campo completo
const string ConnectionString = [Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=[Ô] + DatabasePath;
using (OleDbConnection cnn = new OleDbConnection(ConnectionString))
{
string query = [Ô]SELECT * FROM CriarApontamento[Ô]; //Action querry
using (OleDbCommand cmd = new OleDbCommand(query, cnn))
{
cnn.Open();
using (OleDbDataReader reader = cmd.ExecuteReader())
{
string getid = reader.GetString(1); //Gera erro mesmo sendo um select numa tabela comum
}
}
}
conexao.FecharConexao();
}
catch (Exception ex)
{
throw ex;
}
}
Obrigado,
Pierre
Segue código abaixo, em anexo envio tela de erro
private OleDbTransaction transacao;
public void LeAccessCriaTeste(string caminho, int clienteid)
{
OleDbCommand comandoSQL;
OleDbConnection conecta;
DataTable dt = new DataTable();
conecta = new OleDbConnection(@[Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=[Ô] + caminho + [Ô];[Ô]);
conecta.Open();
this.transacao = conecta.BeginTransaction();
try
{
const string DatabasePath = @[Ô]~\\banco\\Dimed.mdb[Ô]; //Campo completo
const string ConnectionString = [Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=[Ô] + DatabasePath;
using (OleDbConnection cnn = new OleDbConnection(ConnectionString))
{
string query = [Ô]SELECT * FROM CriarApontamento[Ô]; //Action querry
using (OleDbCommand cmd = new OleDbCommand(query, cnn))
{
cnn.Open();
using (OleDbDataReader reader = cmd.ExecuteReader())
{
string getid = reader.GetString(1); //Gera erro mesmo sendo um select numa tabela comum
}
}
}
conexao.FecharConexao();
}
catch (Exception ex)
{
throw ex;
}
}
Obrigado,
Pierre
Pierre,
O tÃtulo de seu post e a mensagem inicial eram de como criar uma tabela no Access.
Com o desenvolvimento do tópico, você narrou que o Create Table já tinha pronto e, por fim, postou seu código, conforme solicitado.
Seu problema é de conexão.
Infelizmente aqui só tenho o PHP, não tenho o VS para poder te ajudar neste momento.
O tÃtulo de seu post e a mensagem inicial eram de como criar uma tabela no Access.
Com o desenvolvimento do tópico, você narrou que o Create Table já tinha pronto e, por fim, postou seu código, conforme solicitado.
Seu problema é de conexão.
Infelizmente aqui só tenho o PHP, não tenho o VS para poder te ajudar neste momento.
Citação:const string DatabasePath = @[Ô]~\\banco\\Dimed.mdb[Ô]; //Campo completo
verifique as barras do caminho [Ô]\[Ô]
Por que você chama o SINCLAIR de Euzébio???
Em todo caso segue uma classe de conexão:
Como falei logo acima essa é uma classe de conexão ok! Daqui pra frente utilize essa classe em outras classes ou em forms para manipular o banco. Usando a OOP instancie a classe acima dessa forma:
Isso levando em consideração um banco em access 2007 (accdb) se for um banco mdb já muda um pouco
O método de pesquisa é apenas para o select. Já o crud serve pro resto! inclusive o create table! Observe:
Daà pra frente só brincar de SQL
Em todo caso segue uma classe de conexão:
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.OleDb;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace nomeDoSeuProjeto //coloque o nome do seu projeto aqui
{
class Conexao
{
//Caminho do Banco de dados
private string DataSource;
public Conexao(string _DataSource)
{
this.DataSource = _DataSource;
}
//Metodo de Pesquisa (Select)
public DataTable Pesquisar(string SQL)
{
DataTable dados = new DataTable();
//inicia tratamento de erros
try
{
dados.Rows.Clear();
OleDbConnection conexao = new OleDbConnection(DataSource);
conexao.Open();
OleDbCommand comando = new OleDbCommand(SQL, conexao);
OleDbDataAdapter adaptador = new OleDbDataAdapter(comando);
adaptador.Fill(dados);
conexao.Close();
}
catch (Exception ex)
{
MessageBox.Show([Ô]Erro: [Ô] + ex.Message);
}
return dados;
}
//Método para INSERT, UPDATE ou DELETE
public void CRUD(string SQL)
{
try
{
OleDbConnection conexao = new OleDbConnection(DataSource);
conexao.Open();
OleDbCommand comando = new OleDbCommand(SQL, conexao);
comando.ExecuteNonQuery();
conexao.Close();
}
catch (Exception ex)
{
MessageBox.Show([Ô]Erro: [Ô] + ex.Message);
}
}
}
}
Como falei logo acima essa é uma classe de conexão ok! Daqui pra frente utilize essa classe em outras classes ou em forms para manipular o banco. Usando a OOP instancie a classe acima dessa forma:
Conexao conn = new Conexao(@[Ô]Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Teste este.accdb[Ô]);
Isso levando em consideração um banco em access 2007 (accdb) se for um banco mdb já muda um pouco
O método de pesquisa é apenas para o select. Já o crud serve pro resto! inclusive o create table! Observe:
conn.CRUD([Ô]CREATE TABLE alunos([id] AUTOINCREMENT PRIMARY KEY, [nome] char(255) NOT NULL, [idade] int NOT NULL)[Ô]);
Daà pra frente só brincar de SQL
O colega DAMASCENO.CESAR está certo.
Parece haver barras demais, onde aponta o caminho do MDB.
O colega ACCIOLLY te deu o que precisas, prontinho para uso.
Ao fechar o tópico, com todo respeito à DAMASCENO.CESAR, nosso bonÃssimo colega, e com respeito a mim mesmo, mas não esqueça de pontuar o ACCIOLLY e, peço, encerrar os demais tópicos que ficaram em aberto.
Tudo de bom.
Parece haver barras demais, onde aponta o caminho do MDB.
O colega ACCIOLLY te deu o que precisas, prontinho para uso.
Ao fechar o tópico, com todo respeito à DAMASCENO.CESAR, nosso bonÃssimo colega, e com respeito a mim mesmo, mas não esqueça de pontuar o ACCIOLLY e, peço, encerrar os demais tópicos que ficaram em aberto.
Tudo de bom.
Obrigado pessoal,
Vou fazer os testes e informo aqui
Att.
Pierre
Vou fazer os testes e informo aqui
Att.
Pierre
Pessoal, se é C#, para indicar o caminho de um arquivo, realmente são duas barras, se colocar uma só, o visual studio acusará um erro;
Até mais.
Até mais.
Faça seu login para responder