首页 > 解决方案 > 尝试执行 SQL 查询时出现无效对象错误

问题描述

我正在尝试在与 WPF 一起使用的数据库中迈出第一步。问题是,一旦我启动应用程序,我就会收到一条错误消息

无效对象 - “tblUser”

tblUser表的名称在哪里。

我确保表名正确,尝试创建另一个表以查看它是否有任何更改。授予所有权限以操作表。

private void Submit_OnClick(object sender, RoutedEventArgs e)
{
    SqlConnection sqlCon = new SqlConnection(@"Server=localhost\SQLEXPRESS;Database=master;Trusted_Connection=True;");

    try
    {
        if (sqlCon.State == ConnectionState.Closed)
            sqlCon.Open();

        String query = "SELECT COUNT(1) FROM tblUser WHERE Username = @Username AND Password = @Password";

        SqlCommand sqlCmd = new SqlCommand(query, sqlCon);
        sqlCmd.Parameters.AddWithValue("@Username",txtUsername.Text);
        sqlCmd.Parameters.AddWithValue("@Password", txtPassword.Text);

        int count = Convert.ToInt32(sqlCmd.ExecuteScalar());

        if (count == 1)
        {
            MainWindow dashboard = new MainWindow();
            dashboard.Show();
            this.Close();
        }
        else
        {
            MessageBox.Show("Username or password does not exist");
        }
    }
    catch (Exception exception)
    {
        MessageBox.Show(exception.Message);
    }
    finally
    {
        sqlCon.Close();
    }
}

首先,我创建一个到数据库的连接。下一步是我想检查连接是否关闭,如果是我正在打开它。然后看起来 SQL 查询出了点问题,因为它似乎无法识别tblUser并将其视为无效查询。

标签: c#sql-server

解决方案


tblUser肯定不在 master 数据库中。星号不是 SQL 的一部分。我很惊讶错误消息一开始并没有抱怨


推荐阅读