Como comparar a entrada do banco de dados e a entrada do formulário
-
15-11-2019 - |
Pergunta
Estou usando C# 2010 Express e Sql Compact.Eu tenho uma tabela de duas colunas e um formulário para adicionar dados para salvar na tabela.Mas não quero salvar as mesmas entradas.
Por exemplo;
Name City
Sefa Istanbul
Sefa New york
Sefa London
Ben New York
......
está ok, mas se o usuário quiser adicionar outro
Name City
Sefa Istanbul
ou já estiver disponível outra entrada, o programa deve parar.
Eu adicionei este código ao meu projeto, mas o comando checkcmd.ExecuteNonQuery() sempre retorna '-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();
Solução
Você pode ter isso de uma das maneiras
Qualquer conjunto Exclusivo Chave para essa coluna em Database .Quando um novo registro for inserido ele será verificado automaticamente (Preferencial)
Ou ao inserir um novo registro, verifique se essa cidade já existe.
Se você deseja verificar a combinação existente.Faça algo assim (presumo que seja assim que você tem seus dados):
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
}