Si n'existe pas, puis insérez le reste afficher le message “existe Déjà”
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;
namespace Barcode
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string strconn = @"Data Source=ASHWINI-LAPY\SQLEXPRESS;Initial Catalog=complete;Integrated Security=True;Pooling=False";
SqlDataReader reader = null;
SqlConnection conn = null;
conn = new SqlConnection(strconn);
conn.Open();
DateTime Dt_Time = DateTime.Now;
string Barcode = textBox1.Text;
SqlCommand cmd = new SqlCommand("select Barcode from table3 where @Barcode='" + textBox1.Text + "'", conn);
cmd.Parameters.AddWithValue("@Barcode", textBox1.Text);
reader = cmd.ExecuteReader();
if (reader != null && reader.HasRows)
{
//email exists in db do something
MessageBox.Show("Barcode Already Exists!!");
}
else
{
string strquery = string.Format("insert into table3 values('{0}','{1}')", Barcode, Dt_Time);
cmd = new SqlCommand(strquery, conn);
int count = (int)cmd.ExecuteNonQuery();
MessageBox.Show("Barcode:" + Barcode +
"\nTime" + Dt_Time);
}
Je suis novice en C# de codage j'ai donc essayé de faire comme ce que j'ai mentionné ci-dessous dans le code, veuillez donc que quelqu'un m'aide.
Je veux insérer un code-barres manuellement et quand je presse le bouton de la base de données SQL Server doit être vérifié si ce code-barres existe. Si non, il doit insérer le code-barres dans la base de données, mais si il existe déjà, il doit donner un message de code à barres existe déjà!
Avec l'insertion de code à barres, je suis également le système d'insertion de la date et de l'heure également dans la base de données.
- D'abord et avant tout ce serait "... où le code-Barres = @code à Barres" (heureux que vous êtes à l'aide de paramètres, même applicable pour les plaquettes trop)
- je viens de mettre à jour tout le code c#..
- Ne pas oublier de le marquer comme acceptée si elle fonctionne pour vous...
Vous devez vous connecter pour publier un commentaire.
MODIFIER
C# code que vous pouvez écrire dans votre événement clic du bouton
SQL Procdure
Quoi de mal avec le code que j'ai vérifier votre code code est bien ..si ça ne marche pas à la fin quelle est l'erreur que vous obtenez.
Juste sur recommandation faire usage de SQLParameter dans votre deuxième queryi.e dans la requête d'insertion aussi pour éviter SQLInjection attaque pour plus de détails consultez ici : Comment SQLParameter prévenir l'Injection SQL?
where @Barcode=...
irait ..?Découvrez ces lignes de code:
Si
textBox1.Text
est égal à"example"
, le résultat de la requête SQL seraitVous souhaiterez peut-être modifier la SqlCommand déclaration:
Vous pouvez faire quelque chose comme ceci:
Ce qui concerne
Vous avez inversé les paramètres sql syntaxe, ce:
Devrait être modifié pour être comme ceci:
Fondamentalement, vous avez changé le nom de la colonne avec le nom du paramètre dans la requête.
Mise à JOUR
Comme pour le "Il y a déjà un DataReader ouvert..." exception, ajuster le code avec
using
blocs (dans les "meilleures pratiques" de l'approche), comme ceci:Devrait au moins vous guider sur la bonne voie.
Vous pouvez le faire en une seule requête sql avec la Fusion-commande.
Dans la plaine, SQL, il ressemblera à: