Ir para conteúdo

POWERED BY:

Arquivado

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

Sheiliemarcos

MySqlCommand e objConnection.Open

Recommended Posts

boa noite galera.. vamos direto ao assunto... uso o seguinte codigo pra acessar um banco de dados mysql, estava funcionando... mas depois de mais alguns testes.. ele funfa... nao funfa.. funfa.. nao funfa... o que será..:

<script runat="server">
	DIM strConexao As String
	DIM strSQL As String
	DIM IdUser As Single = 1
	DIM destaca As Single
	DIM nomeFile As String

	'######### Validando os Campos Obrigatorios. ############
	Sub Validacao
		mensagemErro.text = ""
		if Titulo.text = "" Then
			mensagemErro.text = mensagemErro.text + "O Campo [Titulo da Chamada] não foi preenchido.<br />"
		End if
		if DescSmall.text = "" Then
			mensagemErro.text = mensagemErro.text + "O Campo [Pequena Descrição] não foi preenchido.<br />"
		End if
		if Descricao.text = "" Then
			mensagemErro.text = mensagemErro.text + "O Campo [Descrição Completa] não foi preenchido.<br />"
		End if
		if Fonte.text = "" Then
			mensagemErro.text = mensagemErro.text + "O Campo [Fonte da Informação] não foi preenchido.<br />"
		End if
	End Sub

	Sub Page_Load()
		strConexao = "driver=MySQL ODBC 3.51 Driver;server=localhost;uid=root;pwd=;database=database"
	End Sub
	
	Sub Inserir(sender As Object, e As EventArgs)
		'Chamo a função de validação
		Validacao
	
			DIM objConexao As New OdbcConnection(strConexao)
			
			strSQL = "INSERT into tabNoticias "
			strSQL = strSQL + "(newTitulo, newRelease, newDescricao, newData, newHora, newImg, newFonte, newIdUser, newLook) values "
			strSQL = strSQL + "(?, ?, ?, ?, ?, ?, ?, ?, ?)"
			
			Dim MySqlCommand As New OdbcCommand(strSQL,objConexao)
			
			if Look.checked = "true" then
				destaca = 1
			Else
				destaca = 0
			End if
			
			MySqlCommand.parameters.add("?Titulo", Titulo.text)
			MySqlCommand.parameters.add("?Release", Replace(DescSmall.text,chr(13),"<br />"))
			MySqlCommand.parameters.add("?Descricao", Replace(Descricao.text,chr(13),"<br />"))
			MySqlCommand.parameters.add("?Data", Today)
			MySqlCommand.parameters.add("?Hora", Format(Now,"T"))
			MySqlCommand.parameters.add("?Img", nomeFile)
			MySqlCommand.parameters.add("?Fonte", Fonte.text)
			MySqlCommand.parameters.add("?IdUser", IdUser)
			MySqlCommand.parameters.add("?Look", destaca)
		
			
			objConexao.Open() <<< Linha 41
			MySqlCommand.ExecuteNonQuery()
			objConexao.Close()
			
			Look.Checked = "False"
			Titulo.text = ""
			DescSmall.text = ""
			Descricao.text = ""
			Fonte.text = ""
		End if
 	End Sub
		
</script>

 

só que tem momentos que preciso apenas consultar, e ele apresenta o seguinte erro:

Server Error in '/' Application.

Unhandled Execution Error

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

 

Exception Details: System.Data.Odbc.OdbcException:

 

Source Error:

 

Line 39: DIM dr As OdbcDataReader

Line 40:

Line 41: objConexao.Open()

Line 42: dr = objCommand.ExecuteReader()

Line 43:

 

 

Source File: c:\domains\hostinterativo.com.br\wwwroot\host.net\intranet\newList.aspx Line: 41

 

Stack Trace:

 

[OdbcException (0x80131937)]

System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle, RetCode retcode) +35

System.Data.Odbc.OdbcConnectionHandle..ctor(OdbcConnection connection, OdbcConnectionString constr, OdbcEnvironmentHandle environmentHandle) +131

System.Data.Odbc.OdbcConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) +98

System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnect

ion owningConnection, DbConnectionPoolGroup poolGroup) +27

System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +47

System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +105

System.Data.Odbc.OdbcConnection.Open() +37

ASP.host_net_intranet_newlist_aspx.Page_Load() in c:\domains\hostinterativo.com.br\wwwroot\host.net\intranet\newList.aspx:41

System.Web.Util.CalliHelper.ArglessFunctionCaller(IntPtr fp, Object o) +5

System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +858603

System.Web.UI.Control.OnLoad(EventArgs e) +99

System.Web.UI.Control.LoadRecursive() +47

System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1436

 

 

Version Information: Microsoft .NET Framework Version:2.0.50727.1433; ASP.NET Version:2.0.50727.1433

e para fazer a inserção apresenta o erro:

Server Error in '/' Application.

ERROR [HY000] [MySQL][ODBC 3.51 Driver][mysqld-4.0.21-nt]General driver defined error

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

 

Exception Details: System.Data.Odbc.OdbcException: ERROR [HY000] [MySQL][ODBC 3.51 Driver][mysqld-4.0.21-nt]General driver defined error

 

Source Error:

 

Line 86:

Line 87: objConexao.Open()

Line 88: MySqlCommand.ExecuteNonQuery()

Line 89: objConexao.Close()

Line 90:

 

 

Source File: c:\domains\hostinterativo.com.br\wwwroot\host.net\intranet\cadNews.aspx Line: 88

 

Stack Trace:

 

[OdbcException (0x80131937): ERROR [HY000] [MySQL][ODBC 3.51 Driver][mysqld-4.0.21-nt]General driver defined error]

System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle, RetCode retcode) +35

System.Data.Odbc.OdbcCommand.ExecuteReaderObject(CommandBehavior behavior, String method, Boolean needReader, Object[] methodArguments, SQL_API odbcApiMethod) +1735

System.Data.Odbc.OdbcCommand.ExecuteReaderObject(CommandBehavior behavior, String method, Boolean needReader) +60

System.Data.Odbc.OdbcCommand.ExecuteNonQuery() +87

ASP.host_net_intranet_cadnews_aspx.Inserir(Object sender, EventArgs e) in c:\domains\hostinterativo.com.br\wwwroot\host.net\intranet\cadNews.aspx:88

System.Web.UI.WebControls.Button.OnClick(EventArgs e) +105

System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +107

System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBa

ckEvent(String eventArgument) +7

System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11

System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33

System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1746

 

 

Version Information: Microsoft .NET Framework Version:2.0.50727.1433; ASP.NET Version:2.0.50727.1433

Compartilhar este post


Link para o post
Compartilhar em outros sites

É dificil, pois como você disse hora funciona, hora não funciona. E como eu não trabalho com Mysql vou postar alguns artigos para você dar uma olhada e veja se acha algum modelo de conexão que fica melhor.

 

http://www.macoratti.net/aspn_csq.htm

http://www.linhadecodigo.com.br/Artigo.aspx?id=289

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala Sheiliemarcos,

 

Você está utilizando qual versao do MySQL?

 

Você já adicinou a referencia dele no na aplicação (se não adicionou adicione clicanco com o botao direito na barra solution explorer no caminho da aplicação e depois em add reference)

 

Importou a classe do MySqL? - System.MySQL.MySqlCliente

 

Outra coisa para tentar é atualizar seu MySQL para a versão 5.0 e atualizar o driver do provider para o 5.2...não esqueça de adicioná-lo na referencia...

 

Qualquer dúvida avisa...

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou estava dando uma olhada no seu código e ele está da seguinte forma na hora de criar o objeto command

 

 

Dim MySqlCommand As New OdbcCommand(strSQL,objConexao)

 

Tente o seguinte

 

Dim MySqlCommand As New MySqlCommand(strSQL,objConexao)

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.