tu peux mettre la date/heure dans le nom du fichier, comme ca tu en auras plusieurs sans écrire dans le même fichier
pour le connectstring tu peux passer par des textbox et concaténer, là aussi ca semble évident
Version imprimable
tu peux mettre la date/heure dans le nom du fichier, comme ca tu en auras plusieurs sans écrire dans le même fichier
pour le connectstring tu peux passer par des textbox et concaténer, là aussi ca semble évident
merci pour l'idée de la date et heure
sinon je vais essayer pour le textbox
là je viens de rentrer du boulot
donc je pense que j'essaierai demain
merci à toi et je te tiens au courant
Voilà j'ai essayer d'amélioré ce que je voulais par rapport au identifiants de connexion sur le serveur SQL avec des textbox
je te mets ce que j'ai mis comme tu la beaucoup aider je te fais voir l’état d'avancement
Par contre pour le noinit j'ai pas trouvé mais ce que je vais faire ce que j'ai mis la date du fichier lors de sa création comme cela ça me créer un nouveau chaque jour et je vais mettre en plus un NumericUpDown pour mettre le nombre de fichier a sauvegarder pour leurs suppressions
N’hésite pas à me corriger si tu en as envie
prochaine étape enregistrer les renseignements mis dans fichier ini ou xml je sais pas encore pour éviter de ressaisir à chaque fois les textbox
encore merci à toi
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim Connection As New SqlConnection() Dim nomserveur, nomuser, passuser, connbase As String nomserveur = txtsqlname.Text 'Nom du serveur SQL nomuser = txtidsql.Text 'Utilisateur SQL passuser = txtpasssql.Text ' Mot de passe User SQL connbase = txtbaseconn.Text ' Nom de la base ou se connecter Connection.ConnectionString = "Data source=" & nomserveur & " ;Database= " & connbase & ";User ID=" & nomuser & ";Password=" & passuser & ";" Connection.Open() Try Dim SQLCmd As New SqlCommand() SQLCmd.Connection = Connection SQLCmd.CommandText = "backup database @basename to disk = @path" SQLCmd.Parameters.AddWithValue("@basename", TextBoxBaseName.Text) SQLCmd.Parameters.AddWithValue("@path", TextBoxFichierBackup.Text & Date.Now.Day & Date.Now.Month & Date.Now.Year) SQLCmd.ExecuteNonQuery() MessageBox.Show("sauvegarde réussi", "OK") Catch exp As SqlException MessageBox.Show(exp.Message) Finally Connection.Close() End Try End Sub
Bonjour Pol63
Bon j'avance pas mal sur mon appli
Donc j'arrive bien a sauvegarder ma base dans un dossier que je veux.
Je gère aussi les jours et heures en automatique à laquelle je veux que le backup se lance.
J'arrive à gérer le nombre de backup à conserver dans le dossier de stockage du backup.
Par contre j'ai un souci et oui quand même
j'ai mis un folderbrowserdialog pour sélectionner un dossier pour le stockage du backup qui s'inscrit directement dans le textbox. Mais pour que la sauvegarde fonctionne il faut que le chemin finisse par "\" sinon la sauvegarde se fait pas.
Donc ce que j'ai fait dans ma ligne de commande pour enregistrer le chemin dans ma texbox je lui dit de mettre un "\" à la fin ok ça marche.
Mais le soucis que je viens de remarquer c'est que lorsque je choisis directement la racine de mon lecteur exemple c:\ j'ai le "\" qui se met automatiquement mais du coup il me rajoute un deuxième "\" et donc ça marche pas
est-il possible de vérifier la présence du "\" avant de le mettre.
Je sais pas si je me suis fait comprendre en tout cas n'hésite pas à me demander plus d'explication
encore merci de ton aide et je désolé de t'embêter
a+
la méthode simple qui doit venir à l'esprit c'est
si le string ne se finit pas par un \ j'en rajoute un par concaténationCode:if not lestring.endswith("\") then lestring = lestring & "\"
néanmoins il y a une méthode beaucoup plus propre car elle fonctionne dans tous les cas
io.path contient de plein de méthodes utiles concernant les noms de fichiersCode:dim cheminfichier as string = system.io.path.combine(le string contenant le path, le string contenant le nom du fichier)
.combine sert à concaténer de manière intelligente avec gestion du \ entre autre
il y a aussi par là des méthodes pour avoir le nom du fichier à partir du chemin complet, le dossier contenant le fichier etc...
une chose à faire et de parcourir l'intellisense pour savoir ce qui existe
par exemple sur un string tu fais . et tu regardes ce que le menu déroulant propose
pour chaque méthode il y a une petite explication, tu verras donc tout ce qu'il est possible de faire sur un string
de la même manière tu tapes system. et tu regardes tout ce que ca te propose, tu verrais qu'il y a des namespace pour pas mal de chose system.text pour tout ce qui est encodage, system.net pour tout ce qui est communication (tcp/http/ftp/udp etc...)
etc...
ca permet quand tu as quelques à faire de savoir où pourrait se trouver ce qui te serais utile
Merci pour tes explications
je vais te mettre ce que je mets dans mon bouton pour afficher mon dossier dans ma textbox
Ah oui j'ai oublié de te dire que dans ma textbox je n'affiche que le chemin du dossier voulu pas le fichierCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14 Dim dossier As New FolderBrowserDialog Dim lestring As String dossier.RootFolder = Environment.SpecialFolder.Desktop dossier.Description = "Selection du repertoire de stockage" dossier.ShowDialog() If dossier.SelectedPath = String.Empty Then Return Else TextBoxFichierBackup.Text = dossier.SelectedPath + "\" End If dossier.Dispose() End Sub
encore merci à toi
J'ai réussi pour vérifier la présence ou pas du caractère à la fin du chemin
je te remercie de tes enseignements pol63
prochaine étape de mon appli
la vérification du fichier de sauvegarde si dans le repertoire (enfin pour voir si tout fonctionne correctement au niveau sauvegarde) et envoie par mail du compte rendu.
si tu veux me faire profiter de petite chose n’hésite pas.
encore merci beaucoup à toi :ccool: