我做了一个带有SQL Server表的注册页面,现在我想做一个注册页面。如何检查输入的值是否存在?
这是我的代码块:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
public partial class index : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnSignIN_Click(object sender, EventArgs e)
{
string str = "Data Source=(LocalDB)\\MSSQLLocalDB;";
str += "AttachDbFilename=|DataDirectory|Database.mdf;";
str += "Integrated Security= True";
string userName = txtUserNameLogIN.Text;
string password = txtPasswordLogIN.Text;
SqlConnection c = new SqlConnection(str);
SqlCommand cmd = new SqlCommand("SELECT UserName FROM [Table] WHERE UserName=@userName", c);
cmd.Parameters.AddWithValue("@userName", userName);
}
}
从这里,我不知道该怎么做......
任何帮助将不胜感激。
答案 0 :(得分:0)
如果您想检查用户名是否已经存在,您只需使用EXISTS进行检查 - 如下所示:
if ($grade == 1 && $sumScore <= 5)
{
$textscore = 'Beginning';
}
if ($grade ==1 && ($sumScore>5 && $sumScore <=8))
{
$textScore = 'Intermediate';
}
修改强>
附注,但非常重要 - 您正在处理Disposable对象,并考虑处理它们:
var cmd = new SqlCommand("SELECT COUNT(1) FROM [Table] WHERE UserName = @userName", c);
cmd.Parameters.AddWithValue("@userName", userName);
var existingCount = Convert.ToInt32(cmd.ExecuteScalar());
if (existingCount > 0)
{
// exists logic
}
答案 1 :(得分:0)
protected void btnSignIN_Click(object sender, EventArgs e)
{
string str = "Data Source=(LocalDB)\\MSSQLLocalDB;";
str += "AttachDbFilename=|DataDirectory|Database.mdf;";
str += "Integrated Security= True";
string userName = txtUserNameLogIN.Text;
string password = txtPasswordLogIN.Text;
SqlConnection c = new SqlConnection(str);
SqlCommand cmd = new SqlCommand("SELECT UserName FROM [Table] WHERE UserName=@userName", c);
SqlDataReader reader = cmd.ExecuteReader();
if (reader.Read())
MessageBox.Show("connected");
else
MessageBox.Show("failed to connect");
c.Close();
}