[BD] c# + BD access

c# + BD access [BD] - SQL/NoSQL - Programmation

Marsh Posté le 04-07-2005 à 15:43:59    

Bonjour, comme l'année prochaine à l'école on va faire un peu plus de BD, j'aimerai déja m'avancer la dedan, mais j'ai pas tellement envie d'installer Oracle, donc je me demandais ce qu'il y avais d'autre de relativement simple, pour utiliser en C# ou java :)
 
Merci


Message édité par didier1809 le 05-07-2005 à 16:46:04

---------------
.
Reply

Marsh Posté le 04-07-2005 à 15:43:59   

Reply

Marsh Posté le 04-07-2005 à 15:46:02    

mysql?


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 04-07-2005 à 15:48:38    


 
merci, c'est simpla à utiliser ? je veut dire : pas besoin d'installer des trucs complémentaires ?
 
et juste pour finir : tu aurais des sites ou des exemples en java ou c# qui montrent simplement comment s'y connecter ? :)
 


---------------
.
Reply

Marsh Posté le 04-07-2005 à 15:57:38    

Simple à utiliser, oui...mais vaut mieux installer une interface d'administration, prce-que la ligne de commande c'est un peu austère.
Pour la connexion je te laisse chercher doit y en avoir partout...


---------------
Can't buy what I want because it's free -
Reply

Marsh Posté le 04-07-2005 à 16:01:06    

skeye a écrit :

Simple à utiliser, oui...mais vaut mieux installer une interface d'administration, prce-que la ligne de commande c'est un peu austère.
Pour la connexion je te laisse chercher doit y en avoir partout...


 
J4ai l'habitude pour les lignes de commandes, j'utilise sql+ à l'ecole  :sweat:  
 
Merci en tt cas :)


---------------
.
Reply

Marsh Posté le 05-07-2005 à 15:27:18    

J'ai essayé d'installer Mysql, mais il se plante à l'instalation (impossible de commencer le service ...)
 
Donc je me suis rabattu sur les base de données acces, mais j'ai du mal à comprendre le principe :(


---------------
.
Reply

Marsh Posté le 05-07-2005 à 15:38:42    

didier1809 a écrit :


Donc je me suis rabattu sur les base de données acces, mais j'ai du mal à comprendre le principe :(


 
 :??:  
Comment ca tu comprends pas le principe?

Reply

Marsh Posté le 05-07-2005 à 15:40:52    

cesarr89 a écrit :

:??:  
Comment ca tu comprends pas le principe?


 
Ben j'arrive a parcourir ma table, ou a inserer des trucs du style :
 
lareqinsert="INSERT INTO Personnes VALUES('11','22')";
 
Mais si je veut demander dans un textbox par exemple les valeurs, je fait comment ?


---------------
.
Reply

Marsh Posté le 05-07-2005 à 15:45:47    

didier1809 a écrit :

Ben j'arrive a parcourir ma table, ou a inserer des trucs du style :
 
lareqinsert="INSERT INTO Personnes VALUES('11','22')";
 
Mais si je veut demander dans un textbox par exemple les valeurs, je fait comment ?


 
Ah oui quand même....Tu y accéde comment à ta BD?
Tu as juste à faire un select, à prendre les valeurs et à les mettre dans les textbox.

Reply

Marsh Posté le 05-07-2005 à 15:49:54    

cesarr89 a écrit :

Ah oui quand même....Tu y accéde comment à ta BD?
Tu as juste à faire un select, à prendre les valeurs et à les mettre dans les textbox.


 
non, c'est l'inverse que je veut ;)
 
Je veut écrire dans la table ;)
 
pour lire, c'est bien comme ca :  
 

Code :
  1. String ConnStr = @"Provider=Microsoft.Jet.OleDB.4.0 ;
  2.     Data Source=C:\Documents and Settings\Didier.DIDIER-0A8C02A9\Mes documents\ptitprog\bd.mdb";
  3.         OleDbConnection oConn = new OleDbConnection(ConnStr);
  4.      try 
  5.      { 
  6.          oConn.Open(); 
  7.          String sqlQuery = "SELECT * FROM Personnes";
  8.          OleDbCommand oCmd = new OleDbCommand(sqlQuery,oConn) ;
  9.          OleDbDataReader result = oCmd.ExecuteReader(); 
  10.    
  11.          if( result != null)
  12.          {
  13.   while(result.Read()) 
  14.   { 
  15.    //Le 0 c'est le numero de la colonne a lire
  16.                  MessageBox.Show(result.GetString(0)) ; 
  17.   }
  18.          }
  19.          oConn.Close();
  20.      } 
  21.      catch(Exception exp) 
  22.      { 
  23.          MessageBox.Show("Erreur :" + exp.Message); 
  24.      }


 
 :??:


---------------
.
Reply

Marsh Posté le 05-07-2005 à 15:49:54   

Reply

Marsh Posté le 05-07-2005 à 15:56:03    

Ca marche ton truc?
 
Tu peux aussi faire avec (string)result["nom du champ"]

Reply

Marsh Posté le 05-07-2005 à 15:57:14    

cesarr89 a écrit :

Ca marche ton truc?
 
Tu peux aussi faire avec (string)result["nom du champ"]


 
Oui ca marche, j'essaierai aussi avec ta solition.
 
Pour écrire ce qui vient de textbox dans ma table ? pas d'idées ?


---------------
.
Reply

Marsh Posté le 05-07-2005 à 15:58:50    

Bah si, tu fais un insert, c'est quoi le problème?

Reply

Marsh Posté le 05-07-2005 à 15:59:44    

cesarr89 a écrit :

Bah si, tu fais un insert, c'est quoi le problème?


 
ben avec le string, ca va, mais comment je remplace les valaurs dedan ?
 
edit : en plus ca doit etre vraiment con  :sweat:


Message édité par didier1809 le 05-07-2005 à 15:59:57

---------------
.
Reply

Marsh Posté le 05-07-2005 à 16:00:35    

didier1809 a écrit :

ben avec le string, ca va, mais comment je remplace les valaurs dedan ?


 
 :heink:  
 
J'ai pas compris ce que tu voulais dire.

Reply

Marsh Posté le 05-07-2005 à 16:01:45    

Code :
  1. string lareqinsert;
  2.   String ConnStr = @"Provider=Microsoft.Jet.OleDB.4.0 ;
  3.     Data Source=C:\Documents and Settings\Didier.DIDIER-0A8C02A9\Mes documents\ptitprog\bd.mdb";
  4.   OleDbConnection oConn = new OleDbConnection(ConnStr);
  5.   lareqinsert="INSERT INTO Personnes VALUES('22','33')";
  6.   try
  7.   {
  8.    oConn.Open();
  9.    OleDbCommand lacommandinsert=new OleDbCommand(lareqinsert,oConn);
  10.    lacommandinsert.ExecuteNonQuery();
  11.    oConn.Close();
  12.   }
  13.   catch (Exception e1)
  14.   {
  15.    MessageBox.Show("erreur accès BD (Modifier):"+e1.Message);
  16.   }


 
J'ai ca pour le moment, les élements à insérer sont en "dur" dans ma chaine, et j'aimerai que se soit le coontenu des textbox qui soient insérés


---------------
.
Reply

Marsh Posté le 05-07-2005 à 16:02:32    

Ben oui ben c'est quoi le problème alors?
Je comprends pas.

Reply

Marsh Posté le 05-07-2005 à 16:04:38    

cesarr89 a écrit :

Ben oui ben c'est quoi le problème alors?
Je comprends pas.


 
ben ca :
lareqinsert="INSERT INTO Personnes VALUES(" + this.textBox1 +","+ this.textBox2+ " )";
 
ca marche pas [:dawa]


---------------
.
Reply

Marsh Posté le 05-07-2005 à 16:07:07    

Tu as pas l'impression qu'il te manque quelque chose?
 
 
Sinon c'est vivement conseillé de faire comme ci-dessous:

Code :
  1. string requete ="insert into [matable] value (?, 'coucou') ";
  2. OleDbCommand oDbCmd = new OleDbCommand(requete, this.oConn);
  3. oDbCmd.Parameters.Add("monchamp1",OleDbType.VarChar,255);
  4. oDbCmd.Parameters["monchamp1"].Value = textbox.text;


 
Edit: Y'a une MSDN elle est pas faite pour faire jolie.


Message édité par cesarr89 le 05-07-2005 à 16:07:41
Reply

Marsh Posté le 05-07-2005 à 16:08:11    

cesarr89 a écrit :

Tu as pas l'impression qu'il te manque quelque chose?
 
 
Sinon c'est vivement conseillé de faire comme ci-dessous:

Code :
  1. string requete ="insert into [matable] value (?, 'coucou') ";
  2. OleDbCommand oDbCmd = new OleDbCommand(requete, this.oConn);
  3. oDbCmd.Parameters.Add("monchamp1",OleDbType.VarChar,255);
  4. oDbCmd.Parameters["monchamp1"].Value = textbox.text;


 
Edit: Y'a une MSDN elle est pas faite pour faire jolie.


 
ben j'ai encore jamais bossé avec des BDD dans un prog, donc je découvre :(
 
Merci, ej teste ca


---------------
.
Reply

Marsh Posté le 05-07-2005 à 16:17:36    

dans le cas ou j'ai plusieurs paramètre, ceci devrait marcher non ?
 

Code :
  1. string requete ="insert into Personnes values (?, ?) ";
  2.   OleDbCommand oDbCmd = new OleDbCommand(requete, oConn);
  3.   oDbCmd.Parameters.Add("pseudo",OleDbType.VarChar,255);
  4.   oDbCmd.Parameters.Add("nom",OleDbType.VarChar,255);
  5.   oDbCmd.Parameters["pseudo"].Value = this.textBox1.Text;
  6.   oDbCmd.Parameters["nom"].Value = this.textBox2.Text;


---------------
.
Reply

Marsh Posté le 05-07-2005 à 16:19:14    

Oui ca devrait marcher

Reply

Marsh Posté le 05-07-2005 à 16:22:18    

http://img69.imageshack.us/img69/932/erreur23yh.jpg
je suis maudis  :sweat:


Message édité par didier1809 le 05-07-2005 à 16:25:52

---------------
.
Reply

Marsh Posté le 05-07-2005 à 16:23:20    

Marche pas ton lien

Reply

Marsh Posté le 05-07-2005 à 16:24:21    

cesarr89 a écrit :

Marche pas ton lien


 
J'ai vu, une seconde ;)


---------------
.
Reply

Marsh Posté le 05-07-2005 à 16:28:04    

voila, j'ai meme essayé avec des null pour compléter les champrs, mais ca ne change rien :(


---------------
.
Reply

Marsh Posté le 05-07-2005 à 16:32:47    

Tu es certin que le champs sont "nom" et "pseudo" ?
Y'a que ca comme champs?

Reply

Marsh Posté le 05-07-2005 à 16:41:45    

cesarr89 a écrit :

Tu es certin que le champs sont "nom" et "pseudo" ?
Y'a que ca comme champs?


 
Oui, j'ai retiré les autres, je n'ai plus que "nom", et "pseudo" dans ma table :(


---------------
.
Reply

Marsh Posté le 05-07-2005 à 16:46:19    

C'est bizar quand même.
Test avec ceci:  

Code :
  1. oDbCmd.Parameters.Add("pseudo",OleDbType.VarChar,255,"pseudo" );          oDbCmd.Parameters.Add("nom",OleDbType.VarChar,255,"nom" );


Message édité par cesarr89 le 05-07-2005 à 16:46:57
Reply

Marsh Posté le 05-07-2005 à 16:52:34    

cesarr89 a écrit :

C'est bizar quand même.
Test avec ceci:  

Code :
  1. oDbCmd.Parameters.Add("pseudo",OleDbType.VarChar,255,"pseudo" );          oDbCmd.Parameters.Add("nom",OleDbType.VarChar,255,"nom" );



 
meme probleme, j'ai regardé en vitesse la msdn, et ils ne sont pas tres clairs sur la propriété "parameters" :(


---------------
.
Reply

Marsh Posté le 05-07-2005 à 18:51:51    

toujours personne ? :(


---------------
.
Reply

Marsh Posté le 05-07-2005 à 21:35:10    

Perso, je préfère infiniment SQL Server. La version "lite", MSDE est librement et gratuitement téléchargeable sur le site de Microsoft.
 
Elle te sera bien plus utile que MySQL ou Access si au programme vous faites de la base de données évoluée (procédures stockées, triggers, sous-requêtes, etc.)
 
Si tu veux un truc plus proche de la norme SQL-92, que vous allez certainement apprendre, oriente-toi vers PostGre, qui offre un meilleur niveau de compatibilité, bien que celui de SQL Server soit déjà très bon.
 
En effet, à moins d'utiliser la dernière Beta de MySQL, tu sera limité au SQL pure, et même là, tu seras confronté à de sérieuses limitations.
Deplus, les outils de gestion de base pour MySQL, y'a rien de vraiment terrible, SQL Server est sans conteste le meilleur dans ce domaine. Access quand à lui, ben... c'est pas vraiment un SGBD, ça marche pas mal, on peut faire pas mal de choses mais bon... C'est pas forcément ce qu'il y a de mieu pour ce former au SQL.


Message édité par Arjuna le 05-07-2005 à 21:40:30
Reply

Marsh Posté le 05-07-2005 à 21:36:55    

Sinon, l'interface avec les programme est la même pour tous les SGBD, donc tu auras toujours ton problème actuel. Je ne vois pas ce qui cloche dans ton truc :)

Reply

Marsh Posté le 05-07-2005 à 21:50:50    

Arjuna a écrit :

Perso, je préfère infiniment SQL Server. La version "lite", MSDE est librement et gratuitement téléchargeable sur le site de Microsoft.
 
Elle te sera bien plus utile que MySQL ou Access si au programme vous faites de la base de données évoluée (procédures stockées, triggers, sous-requêtes, etc.)
 
Si tu veux un truc plus proche de la norme SQL-92, que vous allez certainement apprendre, oriente-toi vers PostGre, qui offre un meilleur niveau de compatibilité, bien que celui de SQL Server soit déjà très bon.
 
En effet, à moins d'utiliser la dernière Beta de MySQL, tu sera limité au SQL pure, et même là, tu seras confronté à de sérieuses limitations.
Deplus, les outils de gestion de base pour MySQL, y'a rien de vraiment terrible, SQL Server est sans conteste le meilleur dans ce domaine. Access quand à lui, ben... c'est pas vraiment un SGBD, ça marche pas mal, on peut faire pas mal de choses mais bon... C'est pas forcément ce qu'il y a de mieu pour ce former au SQL.


 
 
j'ai déja suivi des cours, mais uniquement directment en entrant les commandes sql, ou en faisant des scripts pour les trigger ou autres.
 
Je vais me renseigner pour MSDE alors :)
 
Et moi non plus je ne comprend pas ce qui ne va pas :(


---------------
.
Reply

Marsh Posté le 06-07-2005 à 00:56:47    

Ben alors pour le reste, d'un point de vue programmation, même si là t'es confronté à un petit problème, à priori ça posera pas de problème.
 
Le plus dur niveau SQL, ben... C'est faire en SQL ce qu'on peut éviter de faire dans le langage qui appelle le SQL. Mais lancer une commande SQL et interpréter le résultat, quelque soit le langage, ça ne pose pas de problème particulier, c'est tout bête ;)

Reply

Marsh Posté le 06-07-2005 à 09:40:36    

Arjuna a écrit :

Ben alors pour le reste, d'un point de vue programmation, même si là t'es confronté à un petit problème, à priori ça posera pas de problème.
 
Le plus dur niveau SQL, ben... C'est faire en SQL ce qu'on peut éviter de faire dans le langage qui appelle le SQL. Mais lancer une commande SQL et interpréter le résultat, quelque soit le langage, ça ne pose pas de problème particulier, c'est tout bête ;)


 
J'ai vu ca, il y a juste quelques bizzareries avec mon insert ;)
 
Pour les commandes SQL, ca va, je me débrouille :)


---------------
.
Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed