c# - 试图检查用户是否存在于我的数据库中
问题描述
我正在尝试检查用户是否存在于我的 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/en-us/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 的返回值
推荐阅读
- javascript - 将可拖动区域限制为仅图标
- reactjs - Fetch的cache属性和axios api有什么区别
- javascript - Recharts 条形图未显示
- google-apps-script - 获取 Google 表单中所有部分的列表或从每个响应中获取该属性?
- json - 通过名为 release-date 的子键在 python 中对 json 进行排序
- c# - System.Text.Json JsonElement.GetProperty() KeyNotFoundException
- sql - 在 Select 查询中使用 TOP 和条件
- javascript - html两个表相同的列宽
- c - 最小的 PIC32 程序很大
- mysql - 多维数组 - 使用 php 插入 mysql