Connexion au base de donnée en WPF avec MVVM desig
Ammar.Dev
Messages postés69Date d'inscriptionmercredi 5 octobre 2005StatutMembreDernière intervention28 janvier 2021
-
10 févr. 2018 à 01:05
Whismeril
Messages postés18416Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention 1 juin 2023
-
10 févr. 2018 à 15:29
Bonsoir,
je suis débutant au niveau de MVVM design patter et WPF je cherche à réaliser un petit exemple de connexion au base de donnée MS Access en utilisant le WPF et le design patter MVVM light Toolkit. voila le code que j'insère pour le connexion:
Modele/DataConnection.cs
public class DataConnection
{
public void OpenConnection()
{
OleDbConnection con = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=db.accdb;" +
"Persist Security Info=False;");
OleDbCommand cmd = con.CreateCommand();
cmd.CommandText = "Insert into table (num,nom)Values(123,'nom1')";
cmd.Connection = con;
con.Open();
cmd.ExecuteNonQuery();
MessageBox.Show("Record Submitted", "Congrats");
}
}
ViewModel/MainViewModel.cs
public class MainViewModel : ViewModelBase
{
private DataConnection _dataconnection;
public MainViewModel(DataConnection dataconnexion)
{
_dataconnection = dataconnexion;
_dataconnection.OpenConnection();
}
}
ViewModel/ViewModelLocator.cs
public class ViewModelLocator
{
static ViewModelLocator()
{
ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default);
SimpleIoc.Default.Register<DataConnection>();
SimpleIoc.Default.Register<MainViewModel>();
}
public MainViewModel Main
{
get
{
return ServiceLocator.Current.GetInstance<MainViewModel>();
}
}
/// <summary>
/// Cleans up all the resources.
/// </summary>
public static void Cleanup()
{
}
}
quand j'excute le programme il n'a rien faire et quand je debug je trouve que l'instruction s'arrête au niveau de l'instruction
con.Open();
de fichier Modele/DataConnection.cs et puis il passe au MainWindow.xaml.cs.
je ne trouve pas pourquoi il ne continue pas l'execution des tous l'instructions?
Whismeril
Messages postés18416Date d'inscriptionmardi 11 mars 2003StatutContributeurDernière intervention 1 juin 2023624 10 févr. 2018 à 05:59
Bonjour,
En wpf, il arrive qu’en cas de bug, Visual Studio ne s’arrête pas dessus.
Du coup, ça saute le code suivant.
C’est un peu comme si tu avais mis un try « plus haut », à moins que tu l’aies effectivement fait.
Dans les 2 cas, essaye de mettre
Con.Open();
dans un try et de mettre un point d’arrêt dans le catch, pour voir ce qui cloche avec cette ligne.
Ammar.Dev
Messages postés69Date d'inscriptionmercredi 5 octobre 2005StatutMembreDernière intervention28 janvier 2021 10 févr. 2018 à 14:58
10 févr. 2018 à 14:58
il m'affiche une erreur:
"System.InvalidOperationException:Le fournisseur 'Microsoft.ACE.OLEDB.12.0' n'est pas insrit sur l'ordinateur local"
10 févr. 2018 à 15:23
10 févr. 2018 à 15:29
http://www.commentcamarche.net/forum/affich-26650316-le-fournisseur-microsoft-ace-oledb-12-0-n-est-pas-inscrit
https://www.developpez.net/forums/d1199923/dotnet/edi-outils/visual-studio/fournisseur-microsoft-ace-oledb-12-0-a/