Visual Basic 2010 express - créer pack avec base de données

Signaler
-
 Utilisateur anonyme -
Bonjour
Après avoir créé un programme de jeu, je souhaite le diffuser.
Pour fonctionner, ce jeu nécessite une base de données, que j'appelle à l'ouverture du jeu.
Questions :
- Est-il possible d'installer la base de données dans le projet sans qu'il soit nécessaire de l'appeler chaque fois que l'on démarre le jeu ? (l'avantage serait qu'elle ferait partie intégrante du programme, et serait donc "sécurisée")
- si non, que devient cette base de données lors de la création du pack qui sera distribué ? Elle doit toujours accompagner l'application ? Mais alors, n'importe qui pourra l'ouvrir ?

Je suis désolé si la question ne vous semble pas claire, je l'éclaircirai avec plaisir en fonction de vos questions/réactions.
Merci à vous
Jean-Philippe

7 réponses

Messages postés
14821
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 septembre 2021
156
Bonjour,

Si cette base de données et chargeable uniquement en mémoire et ne doit pas être modifiée par l'utilisateur, tu peux la mettre en ressource.

Sinon, mets-la en ressource, extrait-la au démarrage du programme (si besoin) et ensuite, tu pourras la charger.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
Merci NHenry pour ta réactivité

La base de données sera modifiée par le programme, pas par l'utilisateur (il s'agit d'un programme de jeu de questions/réponses, et en fait chaque question tirée au sort sera "cochée" pour ne plus être tirée par la suite).
Ma base de données provient d'une base Access que je "charge" dans un Datatable.

Pour en revenir à ta réponse : Que signifie "mettre en ressource" ?
Et, concrètement, comment procéder ?

Merci d'avance.
Messages postés
14821
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 septembre 2021
156
Bonjour,

Tu vas dans les propriétés du projet, puis tu vas sur l'onglet Ressources, ensuite, tu ajoutes le fichier concerné.

Pour accédé au contenu du fichier : My.Resources.*

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site
Merci NHenry

J'ai bien essayé mais on ne peut, apparemment, n'inclure que des fichiers "texte" dans les ressources...
Est-il possible d'y mettre un fichier .accdb (base de données issue de Access) ?
Ou alors transformer ma base de données en fichier texte (type "bloc-note") puis faire une routine qui remplira une datatable ?

Tout cela parait bien compliqué (pour un débutant)...
Comment font les professionnels pour diffuser un programme qui utilise une base de données ?

J'ai essayé plusieurs tutos (plasserre, site du zéro, développez...) mais rien de probant.
Y en a-t'il qui traite spécialement de la diffusion de programme (base de données internes, protection du programme etc...) ?
Désolé d'abuser une fois de plus de ton temps...
Je te remercie d'avance.
Messages postés
14821
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 septembre 2021
156
Bonjour,

Tu peux inclure tout type de fichier, il faut juste changer le filtre (passer en *.txt à *.*).

Les fichiers non reconnus (binaires pas de type image ou son), retourneront un tableau d'octet (si mes souvenir sont bons) de leur contenu quand tu accèdera par My.Resources.MaRessource.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list
---
Mon site

bonsoir

je suis entrain de développer une application gestion_ hôtelière;je commence par la programmation d'un bouton Ajouter;comme le montre le code ci dessous,
Nom de la base de donnée: Hassan
je veux faire l'ajout sur la table client:

le souci que j'arrive pas a avoir la permission de faire des ajouts sur la table client;
un message d'erreur que la base de donnée "hassan" n'existe pas

merci pour votre aide



Imports System.IO
Imports System.Data
Imports System.Data.OleDb
Imports System
Imports Microsoft.VisualBasic
Imports System.Diagnostic
Public Class client
'Declaration des objets de connection'
Private objetconnection As OleDbConnection
Private objetcommand As OleDbCommand
Private objetdataapdater As OleDbDataAdapter
Private objetdataset As New DataSet
Private objetdataset1 As New DataSet
Private objetdataset2 As New DataSet
Private objetdatarow As DataRow
Private objetdatatable As DataTable
Private objetcommandbuilder As OleDbCommandBuilder
Private strconn As String
Private strsql As String
Private sqloledb As OleDbConnection

Private Sub Button_Ajouter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button_Ajouter.Click

'Procédure "Click" de notre bouon d'ajout des Clients.
Dim v_code_client As String = TextBox1.Text
Dim v_nom As String = TextBox2.Text
Dim v_prenom As String = TextBox3.Text
Dim v_ville As String = TextBox4.Text
Dim v_Adresse As String = TextBox5.Text
Dim v_Nationalite As String = TextBox6.Text
Dim v_tel As Char = TextBox7.Text
strconn = "Provider=sqloledb.1;Data source=hassan.msdb;"
strsql = "Insert into client(codeclient,nom,prenom,ville,adresse,nationalite,tel) values('" & v_code_client & "','" & v_nom & "','" & v_prenom & "','" & v_ville & "', '" & v_Nationalite & "','" & v_tel & "') "
objetconnection = New OleDbConnection
objetconnection.ConnectionString = strconn
objetconnection.Open()
objetcommand = New OleDbCommand(strsql)
objetdataapdater = New OleDbDataAdapter(objetcommand)
objetcommand.Connection = objetconnection
objetdataapdater.Fill(objetdataset, "client")
objetdatatable = objetdataset.Tables("client")
objetconnection.Close()


End Sub
End Class

Bonjour,

Data source=hassan.msdb;

Cette extension est étrange, à mon avis le s est superflu.