Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

felipe maricato moura

Problemas com conecção com o mysql

Recommended Posts

Estou desenvolvendo para .net e encontro problemas com conexão quando acontece muito coneções acontece uma falha no sistema, ai eu percebi que o código que faz a conexão não a fechava. conn.close(), mas se eu coloco para fechar conn.close() então ele funciona com instabilidade falando as vezes.

 

da esse erro

 

Invalid attempt to Read when reader is closed.

 

alguem sabe ajudar

 

segue o código

observem o código na linha

conn.Close();

andtes do return se eu deixo o fechamento da conecção da pua no reader se eu tiro da um pau por muitas conexao

 

public static DataTable executa_query_sp_dt(string sql, char tipo_comando, string conexao, SortedList parametros)		{			MySqlConnection conn;			MySqlCommand cmd;			conn = new MySqlConnection();			cmd = new MySqlCommand();			conn.ConnectionString = conexao;			conn.Open();			cmd.Connection = conn;			cmd.CommandText = sql;			if (tipo_comando == 'T')			{				cmd.CommandType = CommandType.Text;			}			else if (tipo_comando == 'S')			{				cmd.CommandType = CommandType.StoredProcedure;				foreach (DictionaryEntry dce in parametros)				{					cmd.Parameters.Add(dce.Key.ToString(), dce.Value.ToString());					cmd.Parameters[dce.Key.ToString()].Direction = ParameterDirection.Input;				}			}			cmd.ExecuteNonQuery();			MySqlDataAdapter daMySQL = new MySqlDataAdapter(cmd);			DataTable dt = new DataTable();			daMySQL.Fill(dt);			conn.Close();			return dt;		}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Felipe, o problema está no:cmd.ExecuteNonQuery();Este método fecha o objeto Command assim que é executado. E quando se usa o DataAdapter passando o Command como parâmetro não é necessário que execute o mesmo anteriormente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

hum.. interessante não sabia disso mas juliano diga-me um caoisa quase seria a solução gostaria de abrir um conexão consultar ou manipular algo no banco e depois fechala.O que devo fazer então.?

Compartilhar este post


Link para o post
Compartilhar em outros sites

alguem tem uma solução?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.