67 messaggi dal 30 giugno 2013
Ciao eccomi dopo un po’ di tempo di assenza a porvi una domanda.
Dunque io con questo comando Database.Open("NomeDataBase") oppure Database.Open("nome2"); apro la conessione. questo in un progetto che funziona perfettamente.
Mentre la stessa cosa ora voglio fare in un altro progetto ma qui non funziona e mi da questo errore:
Errore di compilazione

Descrizione: Errore durante la compilazione di una risorsa necessaria per soddisfare la richiesta. Rivedere i dettagli relativi all'errore e modificare in modo appropriato il codice sorgente. 

Messaggio di errore del compilatore: CS0103: Il nome 'Database' non esiste nel contesto corrente.

Errore nel codice sorgente:


Riga 14:      var ricerca = "";
Riga 15:      
Riga 16:      var db = Database.Open("NomeDataBase");
Riga 17:      var tot = db.QueryValue(@"SELECT Count(*) FROM UserProfiles");
Riga 18:      int totaleElementi = (int) db.QueryValue("SELECT COUNT(*) FROM UserProfiles LEFT JOIN webpages_Membership ON UserProfiles.UserId = webpages_Membership.UserId WHERE  (IsConfirmed = @0) OR (IsConfirmed Is Null)",conferma);

E pure nel web.config la connessione e la stessa
<connectionStrings>
   <add name="NomeDataBase" connectionString="Data Source=|DataDirectory|\NomeDataBase.sdf" providerName="System.Data.SqlServerCe.4.0" />
  </connectionStrings>

preciso che il database e in .sdf
Penso che come dice l'errore manca una direttiva using oppure un file di classe.
Grazie per una vostro aiuto
Ps "visto che vi trovo molto ingamba e di alta professionalità"
Dimenticavo la pagina e scritta con asp.net mvc
Modificato da TopGan il 09 novembre 2017 22.05 -
10.265 messaggi dal 09 febbraio 2002
Contributi
Ciao,


Dunque io con questo comando Database.Open("NomeDataBase") oppure Database.Open("nome2"); apro la conessione. questo in un progetto che funziona perfettamente.

Sì, l'oggetto Database è disponibile nei progetti di tipo ASP.NET WebPages. Probabilmente anche il tuo progetto era di questo tipo, e presumo che tu l'abbia sviluppato con WebMatrix.

Ora invece hai a che fare con un progetto ASP.NET MVC, in cui l'oggetto Database non è immediatamente disponibile. Tuttavia puoi procurartelo installando il pacchetto NuGet Microsoft.AspNet.WebPages.Data.
https://www.nuget.org/packages/Microsoft.AspNet.WebPages.Data/

Ti linko anche la guida per installare pacchetti NuGet dalla Package Manager Console di Visual Studio, in caso tu ne abbia bisogno:
https://docs.microsoft.com/it-it/nuget/tools/package-manager-console#opening-the-console-and-console-controls
Altrimenti puoi fare tasto destro sulle "References" che trovi nel "Solution Explorer" e aggiungere il pacchetto NuGet da lì in maniera visuale.

Fatto questo, non resta che aggiungere questa riga di codice in cima al file in cui usi l'oggetto Database.
using WebMatrix.Data;


A questo punto *dovrebbe* andare. Dico "dovrebbe" perché non ho mai usato l'oggetto Database in applicazioni ASP.NET MVC, ma altre tecnologie di accesso, come Entity Framework o ADO.NET semplice.


ciao,
Moreno

Enjoy learning and just keep making
67 messaggi dal 30 giugno 2013
Ciaoooooooooooo Moreno come stai?
O provato a fare quello da te suggerito ma non mi fa istalare Microsoft.ASPNET.Pagine web.Dati perchè mi dice che non è compatibile:
Si è verificato un errore.

Could not install package 'Microsoft.AspNet.WebPages.Data 3.2.3'. You are trying to install this package into a project that targets '.NETFramework,Version=v4.0.0.0', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.

System.InvalidOperationException: Could not install package 'Microsoft.AspNet.WebPages.Data 3.2.3'. You are trying to install this package into a project that targets '.NETFramework,Version=v4.0.0.0', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.
   in NuGet.ProjectManager.ExtractPackageFilesToProject(IPackage package)
   in NuGet.ProjectManager.AddPackageReferenceToProject(IPackage package)
   in NuGet.ProjectManager.Execute(PackageOperation operation)
   in NuGet.ProjectManager.Execute(IPackage package, IPackageOperationResolver resolver)
   in NuGet.ProjectManager.AddPackageReference(IPackage package, Boolean ignoreDependencies, Boolean allowPrereleaseVersions)
   in NuGet.ProjectManager.AddPackageReference(String packageId, SemanticVersion version, Boolean ignoreDependencies, Boolean allowPrereleaseVersions)
   in Microsoft.WebMatrix.PackageManagement.WebProjectManager.<>c__DisplayClass1.<InstallPackage>b__0()
   in Microsoft.WebMatrix.PackageManagement.WebProjectManager.PerformLoggedAction(Action action)
   in Microsoft.WebMatrix.PackageManagement.WebProjectManager.InstallPackage(IPackage package, Boolean ignoreDependencies, AppDomain appDomain)
   in Microsoft.WebMatrix.NuGet.NuGetPackageManager.InstallPackage(IPackage package)
   in Microsoft.WebMatrix.NuGet.NuGetModel.InstallPackage(IPackage package, Boolean inDetails)
   in Microsoft.WebMatrix.NuGet.PackageViewModel.Install()
   in System.Threading.Tasks.Task.InnerInvoke()
   in System.Threading.Tasks.Task.Execute()

A questo punto se non posso usare quel modo per fare la connessione e esiste un altro modo per fare la connessione?
67 messaggi dal 30 giugno 2013
BrightSoul ha scritto:

A questo punto *dovrebbe* andare. Dico "dovrebbe" perché non ho mai usato l'oggetto Database in applicazioni ASP.NET MVC, ma altre tecnologie di accesso, come Entity Framework o ADO.NET semplice.
Moreno

Quali sono? mi potresti dare una mano e seguirmi posso passo?
Grazie Moreno
Modificato da TopGan il 11 novembre 2017 16.31 -
10.265 messaggi dal 09 febbraio 2002
Contributi
Ciao, tutto bene :D


Could not install package 'Microsoft.AspNet.WebPages.Data 3.2.3'. You are trying to install this package into a project that targets '.NETFramework,Version=v4.0.0.0',


Qui il problema è che hai creato un'applicazione per il Framework 4.0. Anche se funziona, in realtà non dovresti usare questa versione perché, come vedi qui, non è più supportata da Microsoft. Se hai un PC con sistema operativo Windows 7 o successivo, dovresti installarti almeno il framework 4.5.2 (ammesso che non sia già installato) e modificare il framework di destinazione dalle proprietà del tuo progetto, come vedi qui:
https://msdn.microsoft.com/it-it/library/bb398202.aspx#Anchor_1

A quel punto l'installazione del pacchetto Microsoft.AspNet.WebPages.Data dovrebbe andare buon fine.

ciao,
Moreno

Enjoy learning and just keep making
67 messaggi dal 30 giugno 2013
Ciao Moreno e Grazie
Ma visto che non e un progetto di visual ma già un sito che sto apportando modifiche non posso cambiare il NETFramework.
Ma avendo già un alto sito che funziona con lo stesso NETFramework mi sono detto che basta cercare la versione precedente di Microsoft.AspNet.WebPages.Data ma cercando e ricercando non lo trovato, pero ho trovato WebMatrix.Data.2.0.3 che all'interno a pure Microsoft.AspNet.WebPages.Data v.2 cosi lo istallato e tutto funziona perfettamente come da te spigato.

MILE GRAZIE

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.