【发布时间】:2014-04-22 00:35:41
【问题描述】:
我有下面的代码,它连接到一个 Sql 数据库并将数据插入到一个表中:
string firstNameV = txtFname.Text;
string surnameV = txtSname.Text;
string emailV = txtEmail.Text;
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["myConnectionString"].ToString());
SqlCommand cmd = new SqlCommand();
cmd.CommandText = "INSERT INTO EmailSignUp (Title,FirstName,Surname,Email,EstablishmentType,Interests) VALUES (@Title,@FirstName,@Surname,@Email,@EstablishmentType,@Interests)";
cmd.Parameters.Add("@Title", SqlDbType.NVarChar).Value = title;
cmd.Parameters.Add("@FirstName", SqlDbType.NVarChar).Value = firstNameV;
cmd.Parameters.Add("@Surname", SqlDbType.NVarChar).Value = surnameV;
cmd.Parameters.Add("@Email", SqlDbType.NVarChar).Value = emailV;
cmd.Parameters.Add("@EstablishmentType", SqlDbType.NVarChar).Value = eType;
cmd.Parameters.Add("@Interests", SqlDbType.NVarChar).Value = ins;
cmd.Connection = conn;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
如何检查在“txtEmail”文本框中输入的电子邮件是否已存在于我的数据库中,在电子邮件列中,然后警告消息说电子邮件已经存在,因此它不会插入到我的数据库中?
【问题讨论】:
-
调用存储过程而不是直接插入数据库。在过程中进行测试以查看电子邮件地址是否已经存在,如果存在/不存在则返回一个值,以及插入是否正常。
-
并且,将连接的打开放入 try 语句中,并在 finally 中关闭连接。