Il y a actuellement 58 visiteurs
Mardi 27 Juillet 2021
accueilactualitésdossierscomparer les prixtélécharger gratuitement vos logicielsoffres d'emploiforum informatique
Connexion
Créer un compte

INSERT INTO ok via ACCESS Too few parameter via ODBC

Besoin d'aide pour configurer un serveur ? Vous souhaitez obtenir des conseils pour référencer votre site ? Un petit souci pour accéder à votre FTP ? Des soucis de programmation en PHP / ASP / HTML / XHTML / XML / XSLT / CSS / ReactJS / AngularJS / VueJS / CGI / PERL / C / MySQL / PostgreSQL ??? Nous avons peut-être la solution dans ce forum ...

INSERT INTO ok via ACCESS Too few parameter via ODBC

Message le 15 Jan 2009 00:17

Bonsoir à tous,

Je n'arrive pas à résoudre un problème et encore moins à le comprendre.

Je travaille avec Java et ACCESS, je crée une table et juste ensuite je fais un insert into (ou plutôt plusieurs dans une boucle FOR).



Code: Tout sélectionner
    try{
        CalculHoraire calcHor = new CalculHoraire();
        laDate = calcHor.stringToDate(jTextFieldLaDate.getText(), "yyyy-MM-dd");
            BufferedReader LecteurBufferise = null;
            String ligneDonnee;
            boolean eof = false;
            try {

              //Ouverture du Fichier
              LecteurBufferise = new BufferedReader(new FileReader(nomFichierHoraireComplet));
              String sql="";

              try
                {
                    //  Connect to the Database
                    String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
                    //String url = "jdbc:odbc:Teenergy";  // if using ODBC Data Source name
                    String url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="+fichierDestination.getAbsolutePath();
                    String userid = "";
                    String password = "";

                    Class.forName( driver );
                    Connection connection = DriverManager.getConnection( url, userid, password );

                    //  Read data from a table

                    sql = "CREATE TABLE MaTable (" +
                            "Code Char(4), " +
                            "Sens Char(1), " +
                            "Num Integer, " +
                            "Hor Char(8))";
                    Statement stmt = connection.createStatement();
                    stmt.execute(sql);

                    while (eof != true) {
                        //Lecture de la ligne
                        ligneDonnee = LecteurBufferise.readLine();

                        if(ligneDonnee!=null)
                        {
                            String donneesLignes[] = ligneDonnee.split(";");
                            if(donneesLignes[1].compareTo(""+laLigne.trajet+"")==0 && donneesLignes[0].charAt(0)==laLigne.sens)
                            {
                                    sql = "insert into DebutHoraire (Code, Sens, Num, Hor) " +
                                            "values (" ;
                                    sql += """ + laLigne.code + "", ";
                                    sql += "'" + donneesLignes[0].charAt(0) + "', ";
                                    sql += donneesLignes[1] + ", ";
                                    sql += "'" + dateMAJ + "')";
                                   
                                    stmt.execute(sql);
                                }

                            }

                        }else
                        {
                            eof=true;
                        }
                    stmt.close();

                    jLabelErreurLaDate.setText("OK");

                }
                catch(Exception e)
                {
                    String erreur = e.toString() + " --- " + sql;
                    jLabelErreurLaDate.setText(erreur);
                }
            }
            catch (FileNotFoundException ex) {
              jLabelErreurLaDate.setText("Fichier Non Trouvé !!");
            }
            catch (IOException ex) {
              jLabelErreurLaDate.setText("Erreur lecture ligne fichier !!");
            }
            finally {
            try {
               LecteurBufferise.close();
            }catch (IOException ex1) {
               jLabelErreurLaDate.setText("Erreur fermeture fichier !!");
            }
         }
    }catch(Exception e)
    {
        jLabelErreurLaDate.setText("Erreur : " + e.toString());
    }


Toujours la même erreur.
Je me suis dit, faisons un copié-collé de la variable sql et lançons la "à la main" dans une requête depuis ACCESS, le résultat pourrait me donner plus d'informations. Et là, surprise, le tuple est ajouté.
Je me retrouve dans une situation qui me laisse très perplexe.

Je lance en mode debug.
Les champs sont bons, arrivé à la ligne
Code: Tout sélectionner
stmt.execute(sql);

juste après
Code: Tout sélectionner
sql += "'" + dateMAJ + "')";

Je me retrouve à
Code: Tout sélectionner
String erreur = e.toString() + " --- " + sql;
et erreur contient
Code: Tout sélectionner
"java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1. --- insert into MaTable (Code, Sens, Num, Hor) values ("17", 'A', 1, '06:57:00')"



Quelqu'un pourrait-il m'apporter son aide?
Merci d'avance
SangJun
Visiteur
Visiteur
 
Messages: 1
Inscription: 15 Jan 2009 00:01
 


Message le 15 Jan 2009 11:04

Peux-tu essayer en mettant des doubles-cotes au lieu des simples :
Code: Tout sélectionner
insert into MaTable (Code, Sens, Num, Hor) values ("17", "A", 1, "06:57:00")
Libérez-vous : http://www.debian.org
Nobody knows what sysadmin does... until he stops doing it
Avatar de l'utilisateur
CaSa
PC-Infopraticien
PC-Infopraticien
 
Messages: 8978
Inscription: 13 Mai 2003 16:32
Localisation: Sisteron... et jamais loin d'une Debian
 



Sujets similaires

Message no bootable device insert boot disk and press any key
bonjour à tous et bonne annéeje viens vers vous car on m'a donné un PC Acer 7739ZG qui ne fonctionne plus.je l'allume pour regarder le probleme et le je tombe sur l'ecran noir avec ecrit : no bootable device insert boot disk and press any keyje redemarre le PC en me disant que j'allais accéder au BI ...
Réponses: 6

Message Access. Réactiver un fichier
Bonjour et bonne année à tousDans Access 2013 J'ai par mégarde désactivé un fichierJ'ai consulté l'aide .Il me ditLe fichier figure dans la liste Éléments désactivés car, lors des précédentes tentatives d?ouverture, il a provoqué une erreur ou la fermeture du programme à plusieurs reprises.Si le fic ...
Réponses: 0

Message Problème avec une macro dans Access 2023
BonjourJ'ai un ennui avec ACCESS avec mon programme de comptabilité. Comme je l'ai fait depuis des années en décembre je viens de copier mon fichier Compta 2019 pour créer mon fichier Compta 2020,J'ai supprimé ma table des écritures comptables de 2019 et j'ai créé une table pour 2020 que j'ai comme ...
Réponses: 1

Message Les macros ne fontionnent pas sur Access
Bonjour à tousQui peut m'aider sur un problème que j'ai avec Access 13 de Microsoft ?Quand j'ouvre certaines bases j'ai en haut de l'écran le message suivant:« AVERTISSEMENT DE SECURITE ; Un contenu actif a été désactivé et une invite Activer le contenuEn cliquant sur l'invite, Access me demande le ...
Réponses: 1

Message [réglé]Fichier Microsoft Access USER.MDB
Bonsoir Lola11 et bienvenue. C'est un fichier utilisateur de Access 97. Ce niveau de programme est obsolète depuis longtemps.https://support.office.com/en-us/articl ... 2ef79439faIl a du rester après la désinstallation d'une base de données gérée sur ce PC avec Access 97.sauf si ... Tu n'as pas un ...
Réponses: 1

Message reboot and select proper boot device or insert boot media
reboot and select proper boot device or insert boot media in selected boot voilà mon problème , j'ai cherché un peu partout sur le net mais je ne comprend vraiment pas ... mon 1st boot est removable dev 2nd boot hard dri ...
Réponses: 1

Message [Résolu] mot de passe pour une base access
Bonjour,Je viens de passer de Access 207 à Access 2013Je n'arrive pas à trouver la procédure pour crypter une base avec un mot de passeLe tutoriel me donne___________________________________________________________________1. Ouvrez la en mode Exclusif.Comment ouvrir une base de données en mode Exclu ...
Réponses: 4


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités


.: Nous contacter :: Flux RSS :: Données personnelles :.
cron