0
votes

Compte de colonne ne correspond pas à la valeur de la valeur à la ligne 1 pour la saisie de données

Compte de colonne d'exception SQL ne correspond pas à la valeur de la valeur à la ligne 1

dans NetBeans version 8.2 Lors de l'utilisation d'un formulaire dans Swing APK . Je reçois cette erreur xxx

Je veux être envoyée à la base de données SQL ou à MySQL Workbench


2 commentaires

Un moyen facile de trouver le problème serait, sauvegardez votre chaîne d'instruction SQL dans une variable, sortie de la variable dans la console ou un fichier de débogage, exécutez que SQL directement dans votre MySQL Workbench, vous trouverez le problème :) Je devine Cela pourrait être dû à des guillemets simples manquants englobant les valeurs de champ. Je me tromperai peut-être, mais sauvegarder l'instruction SQL exacte de votre code et l'exécution dans la Workbench vous donnera une idée


Veuillez vous reporter à propos de SQL Injection et d'utilisation Paretstatement à la place. Il est plus sûr et plus lisible!


3 Réponses :


0
votes

Votre table a 9 colonnes, mais vous insérez uniquement des valeurs à 1 colonnes.

Vous devez rechercher pour utiliser Query paramétrice ou utiliser cette solution de contournement (le type de paramètre varchar est éruqué par '' , le type de numéro n'est pas) xxx


0 commentaires

0
votes

Vous pouvez utiliser cette

int i=s.executeUpdate("insert into register(FULL_NAME,EMAIL,PASSWORD,CPASSWORD,MOBILE_NO,GENDER,DEPARTMENT,HOBBIES,ADDRESS) "
                + "values ('"+fname1+"','"+email1+"','"+pass1+"','"+cpass1+"','"+num1+"','"+gender+"','"+dept1+"','"+hobby+"','"+address1+"')");


0 commentaires

0
votes

Votre requête, après que toutes les concatuations des chaînes devraient ressembler à ceci: int i = s.executeUpdate ("Insérer dans Inscrivez-vous (Nom complet, email, mot de passe, casséword, mobile_no, sexe, département, passe-temps, adresse) valeurs ("Personnale", "Personnelle", ..)) Vous devez entourer chaque chaîne avec une seule citation lorsque vous faites une requête dans SQL

Dans votre exemple après la concaténation, cela ressemblera à ceci: int i = s.executeUpdate ("Insérer dans Inscrivez-vous (Nom complet, Email, Mot de passe, Cassword, Mobile_no, Sexe, Département, Hobbies, Adresse) Valeurs ('Personnale, PersonnelMaililail, ..))) et sera interprété comme si vous avez donné une valeur uniquement pour la première colonne FULL_NAME


0 commentaires