Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/262.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 试图通过2个条目从db表中进行选择-登录_C#_Sql_Sql Server - Fatal编程技术网

C# 试图通过2个条目从db表中进行选择-登录

C# 试图通过2个条目从db表中进行选择-登录,c#,sql,sql-server,C#,Sql,Sql Server,您好,我对sql非常陌生,所以如果我的问题有一个微不足道的答案,我深表歉意 我正试图通过数据库中的表进行登录检查。通过上面的代码,您可以看到我正在基于两个字段(用户名和密码)检查表中的条目。我在SqlCommand中得到一个错误-告诉我不存在这样的表。对于连接字符串,我打开服务器资源管理器->右键单击我的数据库,并将整个内容复制到显示“连接字符串”的位置,因此我确信它是正确的 我的数据库中有两个表(至少我认为是这样),一个存储其他内容,另一个存储用户信息。我可以看到另一个名为Comments的表

您好,我对sql非常陌生,所以如果我的问题有一个微不足道的答案,我深表歉意

我正试图通过数据库中的表进行登录检查。通过上面的代码,您可以看到我正在基于两个字段(用户名和密码)检查表中的条目。我在SqlCommand中得到一个错误-告诉我不存在这样的表。对于连接字符串,我打开服务器资源管理器->右键单击我的数据库,并将整个内容复制到显示“连接字符串”的位置,因此我确信它是正确的

我的数据库中有两个表(至少我认为是这样),一个存储其他内容,另一个存储用户信息。我可以看到另一个名为Comments的表,但是我看不到用户内容的表(我需要参考的表)。我会附上一些截图来显示我所看到的。 我做错了什么?我是否以错误的方式创建表?我指的是无效的吗?任何帮助都将不胜感激,谢谢。我看不到或无法选择的表是TableUsers。正如您所看到的,我在VisualStudio上看到了它,但在SQL管理studio中没有看到

错误是我不能引用我需要的表

如果它说“没有这样的表…”,那么您就拼错了表名。再查一遍。我会用
从[数据库]中显示表来检查表列表来自代码,并将其列在一些数据表中。
但是,“没有这样的表…”表示您的ConnectionString是有效的。

顺便说一句,我建议您,如果您的查询只需要true/false,那么您更愿意使用[table]中的
选择count(*),其中password=@password和user=@user
。然后,不是填充数据集/数据表,然后计算行数,而是使用ExecuteScalar将其存储到整数变量中-它更快,占用资源更少。

您的代码表明您使用的是SQL Server,因此我修复了标记。该数据库是如何创建的,您是如何将VS与数据库/数据源连接的?我这样问是因为你的VS截图显示你显示了“所有文件”(在你的解决方案浏览器顶部的切换按钮)。带有虚线图标的文件表示这些文件存在于光盘中,但它们可能不包括在项目中。您能从
注释
表中读取吗?安装程序有问题,不是您的SQL有问题。我认为连接字符串没有打开您正在使用的数据库。首先删除连接字符串的AttachDbFilename部分。MDF文件已附加到服务器,仅当您连接到未附加到服务器的MDF TG时才需要该文件。当连接到服务器时,AttachDbFilename会给出错误消息。其次,更改“数据源”以匹配打开SQLServerManagementStudio时在登录窗口上看到的服务器名称。当您的连接字符串未使用该服务器时,SQL Server看起来是15.0。
private bool CheckIfExist(string username, string password)
    {
         SqlConnection conn = new SqlConnection("Data Source=  
        (LocalDB)\\MSSQLLocalDB;AttachDbFilename=C:\\Users\\Radi\\Desktop\\
        WebSiteF86454\\WebSiteF87300\\App_Data\\Database.mdf;Integrated Security=True");
        SqlCommand cmd = new SqlCommand("SELECT * FROM dbo.TableUsers WHERE Username=@username and 
        UserPassword=@password", conn);
        cmd.Parameters.AddWithValue("@Username", username);
        cmd.Parameters.AddWithValue("@password", password);
        conn.Open();
        SqlDataAdapter adpt = new SqlDataAdapter(cmd);
        DataSet ds = new DataSet();
        adpt.Fill(ds);
        conn.Close();
        int count = ds.Tables[0].Rows.Count;
        if (count == 1) { return true; }
        else { return false; }; 
    }