ERRO 91

FERRAZ 13/08/2015 14:10:58
#449926
Oi tudo bem.

Amigos estou voltando depois de alguns anos e em outro momento explico.

Vamos lá, criando um software no visual studio 2005 me deparei com uma mensagem ao tentar gravar um novo registro no banco mysql;

[Ô]Erro: 91 Referencia de objeto não definida para uma instancia de um objeto[Ô]

Favor como faço para resolver este erro ?

Obrigado a todos.
JABA 13/08/2015 14:23:07
#449928
Acho que você está querendo salvar um objeto que não foi instanciado. Posta o código que gera o erro pra que possamos examinar melhor.
FERRAZ 13/08/2015 14:49:19
#449933
JABA, Tudo bem.

Vc tem razão, como estou migrando do vb 6 para o .net não estou conseguindo resolver o problema, segue meu código;

Option Explicit On
Module ModBd

Dim Cnn As ADODB.Connection
Dim rs As ADODB.Recordset
Private Sub Main()
[ô]===========================================================================================================
[ô]Aqui eu uso um form main no projeto e nele eu trato as variaveis de conecxao com o banco de dados.
[ô]Logo em seguida eu torno a criar as variaveis que fazem as manipulacoes no bando de dados.
[ô]===========================================================================================================
[ô]Dim ConectaAccess As String
Dim ConectaMysql As String

MDIAbbcinto.AccessibleName = ([Ô]MDIAbbcinto[Ô])
MDIAbbcinto.Show()
[ô]DoEvents()

Cnn = New Odbc.OdbcConnection
Cnn = CreateObject([Ô]ADODB.Connection[Ô])
ConectaMysql = [Ô]DRIVER={MySQL ODBC 3.51 DRIVER};Server = localhost;Database=Database;User = root;Password = [Ô][Ô];Port=3306;Option=3;[Ô]
Cnn.Open(ConectaMysql)

rs = New ADODB.Recordset
[ô]Cnn.CursorLocation = ADODB.adUseClient
Cnn.CursorLocation = ADODB.CursorLocationEnum.adUseServer [ô]adUseServer
rs.CursorType = ADODB.CursorTypeEnum.adOpenDynamic [ô]adOpenDynamic
rs.LockType = ADODB.LockTypeEnum.adLockOptimistic [ô]adLockOptimistic
[ô]=====================================================================================
End Sub
ASHKATCHUP 13/08/2015 17:12:58
#449943
Em qual linha o erro está acontecendo?

O que é MDIAbbcinto?
OMAR2011 13/08/2015 18:17:24
#449947
Isto não vai dar certo Maluco.
Vb6 é vb6
VbNet é vbnet.
Seu código tem que ser todo em Vbnet.
FERRAZ 13/08/2015 18:26:52
#449949
Ashkatchup, tudo bem. Na verdade nao tem linha de erro, agora ao tentar gravar os dados no Banco MySQL aparece a mensagem [Ô]Erro: 91 Referencia de objeto não definida para uma instancia de um objeto[Ô] e nao grava nada no bd.
[Ô]MDIAbbcinto[Ô] é meu formMDI.

FERRAZ 17/08/2015 17:50:06
#450143
Amigos;
Como gravo no MySQL usando este codigo.
Citação:

Dim Cnn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim ConectaMysql As String

Cnn = New Odbc.OdbcConnection
Cnn = CreateObject([Ô]ADODB.Connection[Ô])
ConectaMysql = [Ô]DRIVER={MySQL ODBC 3.51 DRIVER};Server = localhost;Database=Database;User = root;Password = [Ô][Ô];Port=3306;Option=3;[Ô]
Cnn.Open(ConectaMysql)

rs = New ADODB.Recordset
Cnn.CursorLocation = ADODB.CursorLocationEnum.adUseServer [ô]adUseServer
rs.CursorType = ADODB.CursorTypeEnum.adOpenDynamic [ô]adOpenDynamic
rs.LockType = ADODB.LockTypeEnum.adLockOptimistic



Grato
DS2T 17/08/2015 19:01:51
#450148
Se não aparece nenhuma linha indicando o erro é porque pode ser problema de referência. Eu, particularmente, nunca tentei usar ADO no VB.NET.
Recomendo que migre seu código para o padrão .NET (usando o namespace Data). Essa era a forma com que eu usava no VB6.

Teoricamente, era pra funcionar sim, se você referenciou a biblioteca do ADO (Active Data Object) no projeto. Referenciou?
Seja como for, aproveita que tá no início do projeto e migra o código pro padrão .NET. Te traz umas facilidades que você vai até arrepiar quando conhecer.

Abraços!
FERRAZ 17/08/2015 21:28:48
#450155
Ds2t,

Vou continuar a procurar o que VStudio tem a me oferecer.

Grato pelo apoio.
NICKOSOFT 18/08/2015 16:45:46
#450186
lembre de usar o Imports MySql.Data.MySqlClient
e um modelo de inclusão seria assim
  
sql = [Ô]INSERT INTO Alunos(nome,situacao,entrada,saida) values ([ô]nome[ô],[ô]situação[ô],[ô]entrada[ô],[ô]saída[ô])[Ô]
Dim ConnectionString As String
ConnectionString = [Ô]Server=localhost;User id=user;Password=password;database=banco[Ô]
Dim Conexao As New MySqlConnection
Conexao.ConnectionString = ConnectionString
Conexao.Open()
Dim Comando As New MySqlCommand (sql, Conexao)
Comando.ExecuteNonQuery()
FERRAZ 19/08/2015 20:22:34
#450240
Nickosof, vou usar depois eu escrevo o resultado.

Grato.
Página 1 de 5 [41 registro(s)]
Tópico encerrado , respostas não são mais permitidas