bonjour tout le monde !
Voila l'intrigue :
J'ai une base de données SQL où j'ai une table " donnees " dont voici le plan :
J'attire votre attention sur le type de chacun des champs : tous " text " ( donc String ? ) sauf la longueur est l'id qui lui est généré automatiquement grace a une requete simple qui recupere le max+1 id de la table ...CREATE TABLE `donnees` (
`Id_Donnee` int(11) NOT NULL default '0',
`Code_Rubrique` text NOT NULL,
`Nom_Rubrique` text NOT NULL,
`Type` text NOT NULL,
`Longueur` int(11) NOT NULL default '0',
`Nature` text NOT NULL,
`Regle_calcul` text NOT NULL,
`Regle_Integrite` text NOT NULL,
PRIMARY KEY (`Id_Donnee`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
J'ai une JDialog qui s'affiche a l'écran pour rentrer les champ : code, nom,type..
voici les champs :
JButton ok_ajout;
JButton non_ajout;
JTextField code;
JTextField nom;
Choice type ;
JTextField longueur;
JTextField nature;
JTextField regle1;
JTextField regle2;
et voici l'appel de la fonction qui doit inserer les données:
je transfere tout d'abord les données :
et ensuite dans un fichier qui gere exclusivement la base de données j'execute ma requete SQL :public void actionPerformed(ActionEvent E) {
if (E.getSource()== ok_ajout)
{
bdd BD=new bdd();
BD.ajoutDDD(code.getText(),nom.getText(),type.getSelectedItem(),longueur.getText(),nature.getText(),regle1.getText(),regle2.getText());
this.dispose();
}
Lorsque les champs sont des nombres tout est bien dans le meilleur des mondes mais des que je met une tite lettre voici la tite erreur :void ajoutDDD(String S1,String S2,String S3,String S4,String S5,String S6,String S7)
{
try{
String requete = null;
int id=this.selectId();
requete = "INSERT INTO donnees VALUES("+id+","+S1+","+S2+",type,"+S4+","+S5+","+S6+","+S7+")";
Statement stmt = connection.createStatement();
stmt.executeUpdate(requete);
}
catch(Exception e)
{
System.out.println("erreur : "+e);
}
'b' étant ma chaine de caractere que j'ai essayé d'inserer ...erreur : com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Champ 'b' inconnu dans field list
Alors pourquoi est il aussi méchant ???
Merci
Partager