Inquiridor
Erro Method not found: .ctor System.SystemException.

Pergunta
-
Pessoal, na minha aplicação para pocket pc existe um menu de atividades(tarefas) que o programa realiza. As tarefas quando selecionados abrem um novo formulário e nesse formulário preenchem listboxs apartir de consultas a um banco de dados SQLServer CE. Ao sair de cada tarefa fecho a conexão com o banco e uso a função dispose() para a conexão, mas se eu tentar abrir outra tarefa logo em seguida ou até mesmo a mesma tarefa dá esse erro que coloquei no título na função prepare() da consulta para preencher os listbox.
Alguém pode me ajudar?
Abraços
Todas as Respostas
-
-
O código de conexão com o banco é esse. tenho um método que faz a conexão e retorna um objeto sqlceconnection
public static SqlCeConnection criaConexoes() { //String que armazena a string de conexão com o banco de dados string stringConexao = "Data Source =" + Path.GetDirectoryName( Assembly.GetExecutingAssembly().GetModules()[0].FullyQualifiedName) + "\\Dados\\Base_de_Dados.sdf"; SqlCeConnection conexao = new SqlCeConnection(stringConexao); try { //Abre a conexão conexao.Open(); } catch { //Caso a conexão não ocorra captura a excecão mostra mensagem e fecha //a conexão e o form conexao.Dispose(); conexao.Close(); return null; } return conexao; }
o erro acontece nesse código
for( int i = 0; i < listBoxRegistro.Items.Count; i++) { parametroPlaca.Value = listBoxRegistro.Items[i].ToString(); consultaPesos.Prepare();
nesse último comando. apartir de uma lista de registros faço consultas no banco de dados.
Abraços -
Thiago,
O que esta função Prepare deve fazer ?
Algum código desta função chega a ser executado ?
ConsultaPesos é uma classe que vc criou né ? O método Prepare() está publico nesta classe ?
Você disse que fecha a conexão no instante que sai de uma tarefa. Você abre a conexão novamente ao executar uma nova tarefa ?
Att. Migel Faria -
-
Thiago,
Ah tah..
Eu nunca usei o método Prepare(). Geralmente so faço assim oh..
SqlCeConnection conexao = new SqlCeConnection(stringConexao); conexao.Open(); SqlCeCommand consultaPesos = new SqlCeCommand ("Select * from Pesos", conexao); consultaPesos.ExecuteNonQuery(); // Executa o comando conexao.Close(); conexao.Open(); consultaPesos.CommandText = "Select * from Clientes"; consultaPesos.ExecuteNonQuery(); // Executa o comando conexao.Close(); conexao.Open(); SqlCeDataAdapter da_Pesos = new SqlCeDataAdapter("select * from pesos", conexao); //cria executa um data adapter System.Data.DataSet ds_Pesos = new System.Data.DataSet(); // criar um data set da_Pesos.Fill(ds_Pesos); // carrega o dataset com resultado do data atapter conexao.Close();
Experimente fazer desta forma, sem usar o prepare(). Pode dar certo
Att. Migel Faria- Editado Miguel_Faria terça-feira, 23 de junho de 2009 20:01