Ir para conteúdo

POWERED BY:

Arquivado

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

Anubis

Erro - Update Usando Adodb.recordset

Recommended Posts

Usando o VS 2005 Pro

 

Temos as seguintes subs de conexão e unconexão

A base de dados é o MySql e o Driver é o 5.1

 

Public Sub Conectar(ByVal ObjSelect, ByVal ObjCondition)

			ObjCn = New ADODB.Connection
			ObjRs = New ADODB.Recordset

			If ObjCondition = "" Then
				ObjSelect = ObjSelect
			ElseIf ObjCondition <> "" Then
				ObjSelect = ObjSelect & Chr(32) & ObjCondition
			End If

			ObjCn.Open(MyCnString)
			ObjRs.CursorLocation = 3
			ObjRs.Open(ObjSelect, ObjCn, 3, 3)

		End Sub

		Public Sub Desconectar()
			ObjCn = Nothing
			ObjRs = Nothing
		End Sub

E abaixo o devido Update..........ou indevido?!?

 

Call Conectar("select * from rop_site_mod_user", "where user_login= '" & StrModUser_User & "' and user_pass = '" & StrModUser_Pass & "'")

		ObjRs.Update()
		ObjRs.Fields("user_logged").Value = 1 '(Este é um campo TINYINT)
		ObjRs.Update()

		Call Desconectar()

Dado abaixo o erro............................................................................

......................................

 

Tentativa de leitura ou gravação em memória protegida. Normalmente, isso é uma indicação de que outra memória está danificada.

Descrição: Ocorreu uma exceção não tratada durante a execução da atual solicitação da Web. Examine o rastreamento de pilha para obter mais informações sobre o erro e onde foi originado no código.

 

Detalhes da Exceção: System.AccessViolationException: Tentativa de leitura ou gravação em memória protegida. Normalmente, isso é uma indicação de que outra memória está danificada.

 

Erro de Origem:

 

Linha 56: Call Conectar("select * from rop_site_mod_user", "where user_login= '" & StrModUser_User & "' and user_pass = '" & StrModUser_Pass & "'")

Linha 57: ObjRs.Fields("user_logged").Value = "1"

Linha 58: ObjRs.Update()

Linha 59: Call Desconectar()

Linha 60:

 

Rastreamento de Pilha:

 

[AccessViolationException: Tentativa de leitura ou gravação em memória protegida. Normalmente, isso é uma indicação de que outra memória está danificada.]

ADODB.RecordsetClass.Update(Object Fields, Object Values) +0

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

kEvent(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) +5102

SE ALGUÉM PUDER ME AJUDAR AGRADEÇO DESDE JÁ........

E CAMARADINHAS EU PESQUISEI PRA CARAMBA ESSE ERRO E NADA.....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caso alguem queira.......

Criei Uma Função para Executar o bendito UPDATE.

 

 

A Função.:


Public MyDriver As String = "{MySQL ODBC 5.1 Driver}"
		Public MyHost As String = "localhost"
		Public MyData As String = "BANCO"
		Public MyUser As String = "USUARIO"
		Public MyPass As String = "SENHA"
		Public MyPer As String = "3"

		Public MyCnString As String = "Driver=" & MyDriver & _
							";Server=" & MyHost & _
							";Database=" & MyData & _
							";User=" & MyUser & _
							";Password=" & MyPass & _
							";Option=" & MyPer & ";"



Public Sub Execute(ByVal ObjExecute As String)

			ObjCn = New ADODB.Connection
			ObjCn.Open(MyCnString)

			ObjCn.Execute(ObjExecute)
			ObjCn = Nothing

		End Sub

Utilizando Update.:

 

Call Execute("Update NOMEDATABELA Set NOMEDOCAMPO = 'VALOR' where NOMEDOCAMPO = 'VALOR' ")

Utilizando Insert.:

 

Call Execute("Insert Into NOMEDATABELA (NOMEDOCAMPO_01, NOMEDOCAMPO_02, NOMEDOCAMPO_03) Values (VALOR_01, VALOR_02, VALOR_03) ")

Utilizando Delete.:

 

Call Execute("Delete From NOMEDATABELA Set NOMEDOCAMPO = 'VALOR' where NOMEDOCAMPO = 'VALOR' ")

Valeu Galera!

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.