我试图在我的"创建用户" ASP.NET中的表单。
我试图找出如何从我的类文件中获取SQL验证函数的if语句,以查看是否已使用用户名和电子邮件。
这是我试图做的。
班级档案:
public DataTable ValidateUSER(string Username)
{
string SQL = "SELECT fldUsername FROM tblBruger WHERE fldUsername LIKE
@username";
SqlCommand CMD = new SqlCommand(SQL);
CMD.Parameters.AddWithValue("@username", Username);
return DA.GetData(CMD);
}
我的代码隐藏:
LoginClass objLogin = new LoginClass();
protected void ButtonCheck_Click(object sender, EventArgs e)
{
string txtUser = txtUsername.Text;
if (obj.ValidateUSER(txtUser) == txtUser)
{
litResult.Text = "Username already taken";
}
答案 0 :(得分:0)
我不确定DA
是什么,但我猜测它是某种数据访问框架,它将执行提供的命令并返回数据表。如果是这种情况,您只需进行一些小修改。
public string ValidateUser(string userName)
{
string sql = "SELECT fldUsername FROM tblBruger WHERE fldUsername LIKE @username";
SqlCommand cmd= new SqlCommand(sql);
cmd.Parameters.AddWithValue("@username", userName);
DataTable table = DA.GetData(cmd);
if (table.Rows.Count != 0)
{
return table.Rows[0].Item[0] as string;
}
return null;
}
这里也是一个调整。注意我使检查不区分大小写,这似乎对用户名是合理的:
var s = obj.ValidateUser(txtUserName.Text);
if (s != null && s.ToLower() == txtUserName.Text.ToLower())
{
litResult.Text = "Username already taken";
}
另请注意,我更改了某些标识符的大小写,以便它们与Microsoft发布的C# coding conventions一致。
答案 1 :(得分:0)
您需要使用SqlDataReader
string SQL = "SELECT fldUsername FROM tblBruger WHERE fldUsername LIKE
@username";
SqlCommand CMD = new SqlCommand(SQL);
SqlDataReader rdr = CMD.ExecuteReader();
while (rdr.Read())
{
//do something with result set
}