我试图检查用户是否存在于我的SQL Server数据库中,但是如果用户存在或不存在,我总是得到相同的响应(重定向到~/korisnik/Korisnikkp
。有人可以帮我吗?问题是编译器无法通过此@来获取用户名值0你知道如何解决这个问题呢?如果我硬编码与examle“nicolas55”它的工作原理用户。谢谢
if (IsPost)
{
var Username = "";
var Password = "";
Username = Request.Form["Username"];
Password = Request.Form["Password"];
if (Username != "" && Password != "")
{
var db = Database.Open("Useri");
var command = @"SELECT username FROM Users WHERE username = @Username"; //when I put here 'nikola55' it works
var result = db.QueryValue(command, Username);
if (result != null)
{
Response.Redirect("~/korisnik/Korisnikkp");
}
else
{
<script type="text/javascript">
alert("No user in database");
</script>
}
表单代码:
<form method="post">
<!-- to error: add class "has-danger" -->
<label for="exampleInputEmail1">username</label>
<input type="text" value="@Username">
<label for="exampleInputPassword1">Password</label>
<a href="#" style="float:right;font-size:12px;">Forgot password?</a>
<input type="password" value="@Password">
<button type="submit" class="btn btn-primary btn-block">Sign in</button>
<div class="sign-up">
Don't have an account? <a href="/korisnik">Create One</a>
</div>
</form>
如果您查看文档:https : //docs.microsoft.com/zh-cn/dotnet/api/webmatrix.data.database.queryvalue? view = aspnet-webpages- 3.2,您将看到Database.QueryValueExecutes a SQL query that returns a single scalar value as the result.
因此它将始终返回一些对象。它不能为空。因此,您必须检查该对象的值,而不是QueryValue的返回值
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句