J'ai une table appelée emplois et je peux obtenir des données hors de la table sans aucun problème, mais l'enregistrement pose des problèmes. Voici le code et l'erreur:Pourquoi est-ce que je ne peux pas enregistrer une transaction de base de données en utilisant SubSonic?
Job job = new Job(JobId);
job.Name = txtName.Text;
job.SimsCustCode = txtSimsCustCode.Text;
job.Mode = cboMode.Text;
job.Interval = Convert.ToInt32(nudInterval.Text);
job.Enabled = Convert.ToBoolean(chkEnabled.Checked);
job.SourceHost = txtSourceHostName.Text;
job.SourceType = cboSourceType.Text;
job.SourceUsername = txtSourceUsername.Text;
job.SourcePassword = txtSourcePassword.Text;
job.SourceDirectory = txtSourceDirectory.Text;
job.SourceIgnoreExtension = txtSourceIgnoreExtension.Text;
job.TargetHost = txtTargetHostName.Text;
job.TargetType = cboTargetType.Text;
job.TargetUsername = txtTargetUsername.Text;
job.TargetPassword = txtTargetPassword.Text;
job.TargetDirectory = txtTargetDirectory.Text;
job.TargetTempExtension = txtTargetTempExtension.Text;
job.Save();
Voici l'erreur:
A first chance exception of type 'MySql.Data.MySqlClient.MySqlException' occurred in MySql.Data.dll
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'interval) VALUES('adf','adsf','inbound','ftp','','','','','','ftp','','','','','' at line 1
Pour clarifier les choses, si je modifier un emploi existant, il fonctionne très bien, il est seul point de nouveaux emplois qui échoue.
Voici le schéma:
Créer un tableau Tableau
emploi CREATE TABLE jobs
(
id
int (11) NOT auto_increment NULL,
name
varchar (100) NOT NULL,
sims_cust_code
varchar (10) NOT NULL,
mode
varchar (10) NOT NULL,
source_type
varchar (10) NOT NULL,
source_host
varchar (100) NULL par défaut,
source_username
varchar (50) NULL par défaut,
source_password
varchar (50) NULL par défaut,
source_directory
varchar (100) NULL par défaut,
source_ignore_extension
varchar (10) NULL par défaut,
target_type
varchar (10) NOT NULL,
target_host
varchar (100) NULL par défaut,
target_username
varchar (50) NULL par défaut,
target_password
varchar (50) NULL par défaut,
target_directory
varchar (100) NULL par défaut,
target_temp_extension
varchar (10) NULL par défaut,
enabled
tinyint (1) NOT NULL,
interval
int (11) NOT NULL,
clé primaire (id
)
) MOTEUR = InnoDB AUTO_INCREMENT = 7 DEFAULT charset = latin1
aucun profileur, que recommandez-vous que j'utilise? –
Si vous êtes au-dessus de la version 5.0.37, vous pouvez utiliser ceci: http://dev.mysql.com/tech-resources/articles/using-new-query-profiler.html De votre schéma je suppose activé ou intervalle a une valeur non valide. –
Adam, c'est ce que je pensais mais ça marche bien si je suis en train de mettre à jour et d'enregistrer, mais que je n'en ai pas ajouté un nouveau. –