Tout d'abord, je ne suis pas programmeur, je le fais pour m'amuser dans un petit projet (je suis chef d'équipe au service client).L'opérateur 'J'aime' dans la règle de validation de terrain ne fonctionne pas pour les insertions OLEDB
J'ai créé une base de données d'accès à la règle de validation suivant: Comme « T ###### » pour n'accepte que nos papiers d'identité des employés (par exemple T123456) Il fonctionne très bien dans Access.
Cependant, en C#, je le code suivant sur mon bouton Envoyer:
private void btnSubmit_Click(object sender, RoutedEventArgs e)
{
try
{
connection.Open();
OleDbCommand command = new OleDbCommand();
command.Connection = connection;
command.CommandText = "insert into Employees (ID, LastName, FirstName) values ('" + txtTID.Text + "','" + txtLastName.Text + "','" + txtFirstName.Text + "')";
command.ExecuteNonQuery();
connection.Close();
}
catch (Exception ex)
{
MessageBox.Show("" + ex);
connection.Close();
}
}
Chaque fois que je rentre quelque chose comme le example ci-dessus, je reçois un Error Message disant qu'il ne pouvait pas insérer les données à cause de validation règle.
J'ai essayé avec un caractère générique différent (*) et cela ne fonctionne toujours pas. Y a-t-il quelque chose d'évident qui me manque ici?
Merci beaucoup pour votre aide, bonne journée!
Pouvez-vous inclure le message d'erreur? –
Vous codez risque de [Injection SQL] (https://stackoverflow.com/questions/601300/what-is-sql-injection). Vous devez utiliser des requêtes préparées avec des paramètres. Même si vous le faites juste pour le plaisir, cela peut être utile car il gère avec élégance le cas où le nom contient un '' ''. – litelite
@ développeur_117 message d'erreur ajouté :) merci pour la réponse rapide! – djodars