Я хотел бы включить функциональные возможности в текущий код, чтобы предотвратить добавление дублирующих дополнений в базу данных. Таким образом, если кто-то уже зарегистрирует свое имя и электронную почту, вместо этого появится сообщение, чтобы сказать, что они уже добавили свою информацию в базу данных. Моя форма использует asp.net, данные заполняются с помощью C#. Могу ли я включить что-то вроде этого: cmd.CommandText = "select * from Table1 where pName='"+t1.Text+"' and pEmail='"+t2.Text+"'";
для этого?Проверьте, находятся ли данные пользователя уже в базе данных
C# Код:
using System.Data.OleDb;
using System.Configuration;
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
OleDbConnection con = new OleDbConnection();
con.ConnectionString = ConfigurationManager.ConnectionStrings["NorthwindConnectionString2"].ToString();
con.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.CommandText = "insert into[Table1](pName)values(@nm)";
cmd.Parameters.AddWithValue("@nm", TextBox1.Text);
cmd.CommandText = "insert into[Table1](pEmail)values(@nm)";
cmd.Parameters.AddWithValue("@nm", TextBox2.Text);
cmd.Connection = con;
int a = cmd.ExecuteNonQuery();
if (a>0)
{
Label1.Text = "Inserted Sucessfully!";
}
}
}
Короче говоря, да, вы можете использовать 'count (*)' для возврата количества записей. Но лучше с 'Parameters' вместо строки concat – Prisoner
Сделайте столбец Unique и после окружения вашего кода с помощью try-catch. Если будут вставлены повторяющиеся данные, то через исключение sql поймать исключение и отобразить сообщение –
Спасибо! Я дам ему попробовать! – penmas