Come confrontare l'immissione del database e l'ingresso modulo
-
15-11-2019 - |
Domanda
Sto usando C # 2010 Express e SQL Compact.Ho due colonne e un modulo per aggiungere un dato da salvare sulla tabella.Ma non voglio risparmiare lo stesso ingresso.
Ad esempio;
Name City
Sefa Istanbul
Sefa New york
Sefa London
Ben New York
......
.
è ok ma se l'utente vuole aggiungere un altro
Name City
Sefa Istanbul
.
o già disponibile un'altra voce, il programma deve fermarsi.
Ho aggiunto questo codice al mio progetto, ma checkcmd.executenonquery () comando restituisce sempre '-1'
SqlCeConnection Baglanti = new SqlCeConnection(@"Data Source=|DataDirectory|\CeoDatabase.sdf;Password=CeoDB;Persist Security Info=True");
Baglanti.Open();
string checkcommand = "SELECT BarAdi, BarSehri FROM Barlar WHERE BarAdi = '"+ Txt_BarAdi.Text +"' AND BarSehri = '"+Txt_BarSehri.Text+"'";
SqlCeCommand checkcmd = new SqlCeCommand(checkcommand, Baglanti);
int kontrol = checkcmd.ExecuteNonQuery();
MessageBox.Show(kontrol.ToString());
return;
if (checkcmd.ExecuteNonQuery() < 1)
{
MessageBox.Show("Bu bilgiler ile kayıtlı bir bar zaten mevcut");
return;
}
else
{
SqlCeCommand Islem = new SqlCeCommand("INSERT INTO Barlar(BarAdi,BarSehri)VALUES('" + Txt_BarAdi.Text + "','" + Txt_BarSehri.Text + "')", Baglanti);
Islem.ExecuteNonQuery();
MessageBox.Show("İşlem başarıyla tamamlandı");
}
Baglanti.Close();
. Soluzione
You can have it one of the ways
Either set Unique Key for that column in Database . When new record will be inserted it will be automatically checked (Preferred)
Or while Inserting new record check if that city already exist.
If you want to check for exist combination. Do somthing like this (I assume this how you have your data):
SqlCeConnection cn = new SqlCeConnection("your connection string");
string checkcommand = "SELECT [Name], [City] FROM [Tablename]" +
"WHERE [Name] == @name AND [City] == @city" ;
SqlCeCommand checkcmd= new SqlCeCommand(checkcommand, cn);
checkcmd.Parameters.AddWithValue("@name", txtBoxName.Text);
checkcmd.Parameters.AddWithValue("@city", txtBoxCity.Text);
cn.Open();
//Check if record already exist
if(checkcmd.ExecuteNonQuery() > 0)
{
//It already exist
}
else
{
//It doesn't exist Insert new record
}