Anubis 0 Denunciar post Postado Novembro 12, 2007 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
Anubis 0 Denunciar post Postado Novembro 12, 2007 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