recupero dati da database

  • Creatore Discussione Creatore Discussione tonino1
  • Data di inizio Data di inizio

tonino1

Utente Attivo
1 Gen 2009
58
3
0
In un listato di un libro ho recuperato del codice che recupera dei dati.C'è però una istruzione e che credo non faccia funzionare il resto,perchè il codice non funziona.L'istruzione è questa:dim objAccount as new ASPNETBank.Account(User.Identity.Name)
ASPNETBank è una libreria e Account dovrebbe essere la classe principale di questa libreria.Quello che non mi è chiaro è quello tra parentesi.Ho provato con un response.write a visualizzare il valore ma non mi da nulla.La libreria la ricavo compilando un file chiamato Account.vb che per comodita vi posto,anche se è lungo è semplice:
Imports System
Imports System.Data
Imports System.Data.OleDb

Namespace ASPNETBank

Public Class Account
'dichiara un oggetto connession
private objConn as new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=c:\ASPNET\data\banking.mdb")
private strUsername as string

public sub New(Username as string)
strUsername=Username
end sub

'**********************************************************************
'Questa funzione restituisce il bilancio dell'account con lo specifico userID
'**********************************************************************
public function GetBalance() as Decimal
dim decBalance as decimal
dim objCmd as new OleDbCommand("spRetrieveBalance",objConn)
objCmd.CommandType=CommandType.StoredProcedure
dim objReader as OleDbDataReader

'setta i parametri per le store procedure
dim objParam as OleDbParameter
objParam=objCmd.Parameters.Add("@UserID",OleDbType.BSTR)
objParam.Direction=ParameterDirection.Input
objParam.Value=strUsername
try
objConn.Open()
decBalance=CType(objCmd.ExecuteScalar,Decimal)
objConn.Close()
catch ex as OleDbException
throw ex
end try

return decBalance
end function

'*********************************************************************
'Restituisce tutte le transazioni per dato user ID
'**********************************************************************
public function GetTransaction() as OleDbDataReader
dim objCmd as new OleDbCommand("spGetTransactions",objConn)
objCmd.CommandType=CommandType.StoredProcedure
dim objReader as OleDbDataReader

'setta i parametri per le store procedure
dim objParam as OleDbParameter
objParam=objCmd.Parameters.Add("@UserID",OleDbType.BSTR)
objParam.Direction=ParameterDirection.Input
objParam.Value=strUsername

try
objConn.Open()
return objCmd.ExecuteReader
catch ex as OleDbException
throw ex
end try
end function

'**********************************************************************
'Aggiunge una transazione nel database,richiama spInserTransaction specificando ammontare,pagamenti,e user ID
'**********************************************************************
public sub AddTransaction(strPayee as string,decAmount as decimal)
dim objCmd as OleDbCommand=new OleDbCommand("spInsertTransaction",objConn)
objCmd.CommandType=CommandType.StoredProcedure

'setta i parametri per le store procedure
dim objParam as OleDbParameter
objParam=objCmd.Parameters.Add("@Date",OleDbType.Date)
objParam.Direction=ParameterDirection.Input
objParam.Value=DateTime.Now

objParam=objCmd.Parameters.Add("@Amount",OleDbType.Decimal)
objParam.Direction=ParameterDirection.Input
objParam.Value=decAmount

objParam=objCmd.Parameters.Add("@Payee",OleDbType.BSTR)
objParam.Direction=ParameterDirection.Input
objParam.Value=strPayee

objParam=objCmd.Parameters.Add("@UserID",OleDbType.BSTR)
objParam.Direction=ParameterDirection.Input
objParam.Value=strUsername

try
objConn.Close()
objCmd.ExecuteNonQuery
objConn.Close()
catch ex as OleDbException
throw ex
end try
end sub

'**********************************************************************
'Aggiorna il bilancio
'Richiama spUpdateBalance
'**********************************************************************
public sub UpdateBalance(decNewAmount as decimal)
dim objCmd as OleDbCommand=new OleDbCommand("spUpdateBalance",objConn)
objCmd.CommandType=CommandType.StoredProcedure

'setta i parametri per le store procedure
dim objParam as OleDbParameter
objParam=objCmd.Parameters.Add("@NewBalance",OleDbType.Decimal)
objParam.Direction=ParameterDirection.Input
objParam.Value=decNewAmount

objParam=objCmd.Parameters.Add("@UserID",OleDbType.BSTR)
objParam.Direction=ParameterDirection.Input
objParam.Value=strUsername

try
objConn.Open()
objCmd.ExecuteNonQuery
objConn.Close()
catch ex as OleDbException
throw ex
end try
end sub
end class
end namespace


Ho risolto il problema inserendo questa istruzione:
objParam.Value=Request.Cookies("Account").Value
cosi mi restituisce quello che chiedo nella funzione getbalance()
 
Ultima modifica:
devo dire la verità, non ho mica ben capito perchè vorresti usare un simile codice per recuperare dei dati quando esistono 1000 applicativi free che lo fanno per te senza dovre scrivere una riga di codice.
 
devo dire la verità, non ho mica ben capito perchè vorresti usare un simile codice per recuperare dei dati quando esistono 1000 applicativi free che lo fanno per te senza dovre scrivere una riga di codice.
:confused: :confused: :confused:

Mi spieghi come fa un applicativo free ad interfacciarsi ad un DB, senza conoscerne ne la struttura, ne ciò che se ne vuole estrapolare??

Gli applicativi free possono essere utilizzati quando già interfacciati ad un determinato DB, incluso nel pacchetto. Altrimenti le query come fanno a sapere che interrogazioni fare, su che tabelle, su che campi? E per la paginazione dei recordset???


@tonino:
come ti dicevo, dai un'occhio qui: ;)
https://www.mrw.it/aspnet/guide/utilizzo-ado-ado-net_146.html
 
Fatico a comprendere questo approccio.

Se devi recuperare il dato, vuol dire che :

1 il DB se l'è perso
2 è corrotto
3 l'hai cancellato

DB o non DB, il dato rimane pur sempre una trascrizione magnetica su un disco.

Con un software crei l'immagine dei bit a livello binario, poi dal binario ricostruisci i file e trovi quello che il DB s'è perso, corrotto o cancellato.
 
Fatico a comprendere questo approccio.

Se devi recuperare il dato, vuol dire che :

1 il DB se l'è perso
2 è corrotto
3 l'hai cancellato

DB o non DB, il dato rimane pur sempre una trascrizione magnetica su un disco.

Con un software crei l'immagine dei bit a livello binario, poi dal binario ricostruisci i file e trovi quello che il DB s'è perso, corrotto o cancellato.
Ora ho capito il perchè di questa tua posizione :)
Hai capito male ciò che è stato chiesto.

Se fai caso, questa è la sezione ASP.NET del forum di MRW. Tonino ha chiesto come recuperare i dati da DB, significa cioè che vuole sapere come si fa ad estrapolare dei record da DB con VB.NET (che è un linguaggio di ASP.NET), per poi mostrarli all'interno di una pagina web.

Capisci ora perchè quel che suggerisci tu non centra nulla con quanto richiesto dall'utente? ;)

Ciao, e augri di buon anno! :byebye:
 

Discussioni simili