试图检查用户是否存在于我的数据库中

问题描述

我正在尝试检查用户是否存在于我的 sql Server 数据库中,但是如果用户存在或不存在,我总是得到相同的响应(重定向~/korisnik/Korisnikkp。有人能帮我吗? P问题是编译器没有用这个@0 获得用户名值。你知道如何解决这个问题吗?如果我使用示例“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>

解决方法

如果您查看文档:{​​{3}},您会看到 Database.QueryValue const increment = (function(){ return function increment(number,value){ return number + value; }; })(); console.log(increment(5,2));

所以它总是会返回一些对象。它不应该为空。所以你必须检查那个对象的值而不是 QueryValue 的返回值

,

尝试以下操作:

if ((object)end != DBNull.Value)
{
    Response.Redirect("~/korisnik/Korisnikkp");
}
else
{
    <script type="text/javascript">
        alert("No user in database");
    </script>
}