Gambas France BETA


Pas de compte ? Incription

Import d'un fichier csv dans une bd

Ce sujet est résolu.

1
AuteurMessages
Patrick#1 Posté le 24/10/2015 à 10:39:17
Bonjour,
Nouveau sous UNIX, sous Gambas, et peu d'expérience en programmation orienté objet. J'aurais aimé savoir si il y avait un moyen de remplir ma datasource sans passer par une datacontrol. Voici le code que j'aimerais avoir :
Dim Hfil As File
Dim fic As String
Dim Ligne As String[]
Hfil = Open FileChooser1.Value For Read
Line Input #hfil, fic
Ligne = Split(fic, ";")
DataSource1.Create
dataSource1.????? = ligne[0]


DataSource.????? = ligne[n]
DataSource1.Save()

Voila est-ce possible ?
linuxos#2 Posté le 24/10/2015 à 18:33:59
Un peu de sel, de poivre et la crevette sera... Bonjour,

Je pense que tu devrais simplement livre ton fichier CSV en entrée et mettre les données directement dans la base de données que tu dois avoir derriere la datasource.

Il me semble que le datasource est justement la pour manipuler graphiquement (exemple souris/clavier) des données d'une base de données.

Olivier
Lorsqu'on s'occupe d'informatique, il faut faire comme les canards... Paraître calme en surface et pédaler comme un forcené par en dessous.
Patrick#3 Posté le 24/10/2015 à 18:52:20
A oui, par des requêtes SQL.
Tant pis, je trouvais ça tellement pratique.
linuxos#4 Posté le 24/10/2015 à 18:59:25
Un peu de sel, de poivre et la crevette sera... Mais peut être qu'en effet il y a moyen de le faire de ta manière mais je ne suis pas spécialiste.

Olivier
Lorsqu'on s'occupe d'informatique, il faut faire comme les canards... Paraître calme en surface et pédaler comme un forcené par en dessous.
Patrick#5 Posté le 24/10/2015 à 19:31:57
En faite j'ai contourné le problème en créant des datacontrols et en ne les affichant pas.
Comme ça j'ai pu manipuler mes données sans passer par les requêtes. C'est moins beau comme solution.
Patrick#6 Posté le 26/10/2015 à 15:59:04
Voila j'ai trouvé, au lieu d'utiliser un datasource il faut utiliser une connections :
$Con.Begin
res = $Con.Create("MaTable")
res!Date = ligne[0]
res!Heure = ligne[1]
res!Pompiste = "-1"
res!CodeProd = nart
.
.
res.Update
$Con.Commit
Si ça peut servir à quelqu'un.
1