Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Lettura di un preciso record di un database Access
Forum - C# / VB.NET - Lettura di un preciso record di un database Access

Avatar
LupoAlbertoVB (Normal User)
Newbie


Messaggi: 3
Iscritto: 11/06/2008

Segnala al moderatore
Postato alle 13:32
Mercoledė, 11/06/2008
Salve a tutti,
Di recente ho cominciato a stilare un programma abbastanza complesso, che richiede l'utilizzo di molte msgbox per domande, notifiche errori, informazioni, ecc. Per renderlo pių divertente, ho pensato di aggiungere un controllo MSAgent perchč rimpiazzi le msgbox. Fin qua tutto OK. Poi, ho creato un database Access contenente tutte le frasi che il MSAgent deve dire, le animazioni che deve fare, ecc.
Ho creato quindi due funzioni: una per l'apertura del database, e funziona, e l'altra per la selezione del record preciso della frase che deve dire il personaggetto:
Codice sorgente - presumibilmente VB.NET

  1. Public Function DomandeConMerlino(ByVal Numero As Integer) As Object
  2.         Dim Animazione As String
  3.         Dim Frase As String
  4.         NumeroRecordData.Move(Numero)
  5.         Animazione = NumeroRecordData.Fields("Animazione").Value
  6.         Frase = NumeroRecordData.Fields("Testo_Frase").Value
  7.        
  8.         With Principale.MerlinoAgent
  9.             .Play(Animazione)
  10.             .Speak(Frase)
  11.         End With
  12.     End Function



solo che c'č un problema: quando chiamo quella funzione, qualsiasi numero che io metta nella variabile Numero, il programma fa recitare a Merlino sempre la stessa frase (la 13) del database (allegato).

:-?:-? Ringrazio in anticipo tutti quelli che mi risponderanno e che mi aiuteranno a risolvere il problema.


LupoAlbertoVB ha allegato un file: Frasi.zip (21013 bytes)
Clicca qui per scaricare il file

Ultima modifica effettuata da LupoAlbertoVB il 11/06/2008 alle 13:39
PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 20:49
Mercoledė, 11/06/2008
COs'č NumeroRecordData?

PM Quote
Avatar
LupoAlbertoVB (Normal User)
Newbie


Messaggi: 3
Iscritto: 11/06/2008

Segnala al moderatore
Postato alle 12:56
Giovedė, 12/06/2008
Codice sorgente - presumibilmente VB.NET

  1. Dim DataConnessione As ADODB.Connection
  2. Dim NumeroRecordData As ADODB.Recordset



Sono le due variabili della connessione al database e del recordset del database.
Nota: queste variabili e le funzioni sono contenute in un modulo.

Ultima modifica effettuata da LupoAlbertoVB il 12/06/2008 alle 12:58
PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 16:01
Giovedė, 12/06/2008
Ma queste sono classi provenienti da vb6? Io conosco il namespace OleDb e DataSet, non queste del namespace ADODB. Usa il nuovo namespace del .Net framework. Se hai scritto l'applicazione implementando l'incapsulamento non dovresti avere problemi.

PM Quote
Avatar
LupoAlbertoVB (Normal User)
Newbie


Messaggi: 3
Iscritto: 11/06/2008

Segnala al moderatore
Postato alle 17:09
Giovedė, 12/06/2008
Io ho aggiunto questo namespace aggiungendo un po' di referenze a dei DLL di Visual Basic 6, poichč questa applicazione l'ho iniziata in VB6 e dopo continuata in VB2008.
Quindi come dovrei fare per utilizzare quei namespaces che dici tu???
Ti prego mi serve assolutamente!!!!

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 16:41
Venerdė, 13/06/2008
Guarda i capitoli relativi ai database e ai dataset tipizzati (e anche a LINQ se vuoi) sulla mia guida: capitoli C15, C18, C19 e C20 alla pagina:
http://totem.altervista.org/guida/versione2

PM Quote