Bir tablo kaydım var. Tablodaki verilerden, kopya bulmak için tablodaki üç veriyi kontrol etmek ve ayrıca her bir karşılaştırma için ayrı açılan mesajlar üretmek istiyorum. Eğer kullanıcı adı zaten kullanılıyorsa, kullanıcı adını görmek istiyorum. Aynı şekilde AdminNo ve RegitrationNo için. Arka uç kodudur:Tek bir SQL denetiminden farklı sonuç nasıl üretilir?
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["RegistrationConnectionString"].ConnectionString);
conn.Open();
String str = "INSERT INTO Register (Name,AdminNo,RegisterNo,Branch,DoB,Address,Mobile,Email,Username,Password) VALUES('" + TextBoxName.Text + "','" + Convert.ToInt64(TextBoxadmin.Text) + "','" + TextBOxreg.Text + "','" + DrpBranch.SelectedItem + "','" + Convert.ToDateTime(DoB.Text) + "','" + address.Text + "','" + mobno.Text + "','" + email.Text + "','" + user.Text + "','" + pass.Text + "')";
SqlCommand cmd = new SqlCommand(str, conn);
cmd.ExecuteNonQuery();
Bu tabloya uç fonksiyonudur.
private bool UserExist()
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["RegistrationConnectionString"].ConnectionString);
SqlCommand cmd = new SqlCommand("Select * From Register Where AdminNo='"+Convert.ToInt32(TextBoxadmin.Text)+"' OR Username='"+user.Text+"' OR RegisterNo='"+TextBOxreg.Text+"'");
cmd.CommandType = CommandType.Text;
cmd.Connection = conn;
conn.Open();
SqlDataReader rdr;
rdr = cmd.ExecuteReader();
if (rdr.HasRows)
{
return true;
}
else
{
return false;
}
conn.Close();
}
Bu ben VEYA operatörü ile yinelenen kontrol görebilirsiniz fonksiyonunu kontrol benim kopyası. Herhangi bir çoğaltma bulunursa, doğru döndürülür. Lütfen kopyaları ayrı olarak bulmak ve ayrı mesajlar görüntülemek için bir yol sağlayın.
Gitmelisiniz kesinlikle parametreli sorgular öğrenmek. Kodunuz SQL Injection saldırılarına açıktır. –
burada basit ve temiz görünüyor http://www.aspsnippets.com/Articles/Simple-User-Registration-Form-Example-in-ASPNet.aspx – banksy