50 messaggi dal 08 dicembre 2010
Scusate non ho capito bene a che cosa serve il create command.
L'executescalar invece se non ho capito male se io ho una query di aggregazione per esempio la somma, mi restituisce solo la prima riga della query ignorando le altre?
50 messaggi dal 08 dicembre 2010
Ho anche un'altro quesito da porre il command text quando viene usato e che funzione ha e ho notato anche che se in new oledbcommand si mette tra parentesi la variabile sql e quella della connessione non si mette il command text, vorrei sapere perchè?
Grazie in anticipo della risposta che mi darete
fefe274 wrote:
Scusate non ho capito bene a che cosa serve il create command.

a creare il DbCommand, attraverso il quale puoi accedere al DbReader, attraverso il quale accedi ai dati. il command, come il nome stesso suggerisce, serve ad inviare dati.

L'executescalar invece se non ho capito male se io ho una query di aggregazione per esempio la somma, mi restituisce solo la prima riga della query ignorando le altre?

ti prendere il primo valore della prima riga, quindi sì, serve nei casi che hai citato.
.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
fefe274 wrote:
Ho anche un'altro quesito da porre il command text quando viene usato e che funzione ha e ho notato anche che se in new oledbcommand si mette tra parentesi la variabile sql e quella della connessione non si mette il command text, vorrei sapere perchè?

perchè il costruttore imposta la proprietà per te, in modo che il tuo codice possa essere un pelo più prolisso. come il nome stesso indica, CommandText è una proprietà per impostare la query o, più in generale, il comando (ad esempio una stored procedure) da eseguire.
.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
50 messaggi dal 08 dicembre 2010
Scusate ho un problema con l'oledb ho fatto una query INSERT INTO ma quando la vado a d eseguire mi da questo errore:
Errore server nell'applicazione '/'.
--------------------------------------------------------------------------------

Il provider 'Microsoft.Jet.OLEDB.4.0' non è registrato nel computer locale.
Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere l'analisi dello stack.

Dettagli eccezione: System.InvalidOperationException: Il provider 'Microsoft.Jet.OLEDB.4.0' non è registrato nel computer locale.

Errore nel codice sorgente:

Il codice sorgente che ha generato questa eccezione non gestita può essere visualizzato soltanto durante la compilazione in modalità di debug. Per attivare tale modalità, eseguire una delle operazioni descritte di seguito, quindi richiedere l'URL:

1) Aggiungere una direttiva "Debug=true" all'inizio del file che ha generato l'errore. Esempio:

<%@ Page Language="C#" Debug="true" %>

Oppure:

2) Aggiungere la seguente sezione al file di configurazione dell'applicazione:

<configuration>
<system.web>
<compilation debug="true"/>
</system.web>
</configuration>

Se si utilizza la seconda tecnica, tutti i file all'interno dell'applicazione verranno compilati in modalità di debug. Con la prima tecnica verrà invece compilato in modalità di debug solo il file interessato.

Importante: l'esecuzione di applicazioni in modalità di debug causa un sovraccarico della memoria o una riduzione delle prestazioni. Assicurarsi che il debug di un'applicazione sia disattivato prima di distribuirla in un contesto di produzione.

Analisi dello stack:


[InvalidOperationException: Il provider 'Microsoft.Jet.OLEDB.4.0' non è registrato nel computer locale.]
System.Data.OleDb.OleDbServicesWrapper.GetDataSource(OleDbConnectionString constr, DataSourceWrapper& datasrcWrapper) +1818735
System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection) +148
System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) +100
System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup) +45
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +6264718
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +6265031
System.Data.OleDb.OleDbConnection.Open() +47
ASP.sito_form_aspx.Invia(Object sender, EventArgs e) +124
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +115
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +140
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +29
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2981




--------------------------------------------------------------------------------
Informazioni di versione: Versione di Microsoft .NET Framework:2.0.50727.4952; Versione di ASP.NET:2.0.50727.4955
non hai il provider per il JET Engine sul server. molto probabilmente, hai un sistema operativo a 64 bit e questo driver in questo contesto non è supportato. puoi forzare comunque l'esecuzione di ASP.NET a 32 bit, ti basta cercare su google, perchè dipende dalla versione di IIS che utilizzi.

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
50 messaggi dal 08 dicembre 2010
ok grazie per tutte le risposte che mi hai dato
50 messaggi dal 08 dicembre 2010
Salve ho risolto il problema dei 64 bit modificando in iis le impostazioni, però ora mi da un problema che non capisco, praticamente mi dice che il percorso è sbagliato, però il percorso mio è giusto che è questo: C:\inetpub\wwwroot\Sito\Sito.mdb, invece nel dettaglio dell'errore è come se mi mette una certalla sito in più vi posto l'errore:
Errore server nell'applicazione '/'.
--------------------------------------------------------------------------------

"C:\inetpub\wwwroot\Sito\Sito\Sito.mdb" non è un percorso valido. Assicurarsi che il nome del percorso sia corretto e di essere collegati al server in cui si trova il file.
Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere l'analisi dello stack.

Dettagli eccezione: System.Data.OleDb.OleDbException: "C:\inetpub\wwwroot\Sito\Sito\Sito.mdb" non è un percorso valido. Assicurarsi che il nome del percorso sia corretto e di essere collegati al server in cui si trova il file.

Errore nel codice sorgente:

Il codice sorgente che ha generato questa eccezione non gestita può essere visualizzato soltanto durante la compilazione in modalità di debug. Per attivare tale modalità, eseguire una delle operazioni descritte di seguito, quindi richiedere l'URL:

1) Aggiungere una direttiva "Debug=true" all'inizio del file che ha generato l'errore. Esempio:

<%@ Page Language="C#" Debug="true" %>

Oppure:

2) Aggiungere la seguente sezione al file di configurazione dell'applicazione:

<configuration>
<system.web>
<compilation debug="true"/>
</system.web>
</configuration>

Se si utilizza la seconda tecnica, tutti i file all'interno dell'applicazione verranno compilati in modalità di debug. Con la prima tecnica verrà invece compilato in modalità di debug solo il file interessato.

Importante: l'esecuzione di applicazioni in modalità di debug causa un sovraccarico della memoria o una riduzione delle prestazioni. Assicurarsi che il debug di un'applicazione sia disattivato prima di distribuirla in un contesto di produzione.

Analisi dello stack:


[OleDbException (0x80004005): "C:\inetpub\wwwroot\Sito\Sito\Sito.mdb" non è un percorso valido. Assicurarsi che il nome del percorso sia corretto e di essere collegati al server in cui si trova il file.]
System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection) +975157
System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) +86
System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup) +29
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +4865788
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +117
System.Data.OleDb.OleDbConnection.Open() +40
ASP.sito_form_aspx.Invia(Object sender, EventArgs e) +82
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +111
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +110
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565




--------------------------------------------------------------------------------
Informazioni di versione: Versione di Microsoft .NET Framework:2.0.50727.4952; Versione di ASP.NET:2.0.50727.4955

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.