C# SQL Server登录失败,windows身份验证Wpf失败

C# SQL Server登录失败,windows身份验证Wpf失败,c#,sql-server,wpf,C#,Sql Server,Wpf,我正在制作一个带有登录屏幕的WPF应用程序,您可以登录到SQL server。我有一个可以通过服务器身份验证登录的帐户,但当我想通过Windows身份验证的帐户登录时,它不起作用。该帐户可以使用SSMS应用程序登录,但不能使用我的应用程序登录,而具有服务器身份验证的帐户可以通过应用程序登录 SqlConnection conn; public DbConnection(string connectionString) { conn = ne

我正在制作一个带有登录屏幕的WPF应用程序,您可以登录到SQL server。我有一个可以通过服务器身份验证登录的帐户,但当我想通过Windows身份验证的帐户登录时,它不起作用。该帐户可以使用SSMS应用程序登录,但不能使用我的应用程序登录,而具有服务器身份验证的帐户可以通过应用程序登录

SqlConnection conn;
        public DbConnection(string connectionString)
        {
            conn = new SqlConnection(connectionString);
        }

        public bool IsConnection
        {
            get
            {
                if (conn.State == System.Data.ConnectionState.Closed)
                    conn.Open();
                return true;

            }
        } 

您的连接字符串错误。对于Windows身份验证,添加
integratedsecurity=true
并删除
用户ID
密码,因为Windows Auth会忽略这些。此外,您确实不应该缓存连接,只要在需要时从连接字符串创建一个连接,然后使用
处理

sDataSource = tbServer.Text;
                sDatabase = tbDatabase.Text;
                sUsername = tbUsername.Text;
                sPassword = tbPassword.Text;
                string connectionString = string.Format("Data Source={0};Initial Catalog={1};User ID={2};Password={3};", sDataSource, sDatabase, sUsername, sPassword);
                DbConnection Connection = new DbConnection(connectionString);
                if (Connection.IsConnection)
                    MessageBox.Show("Connectie met database gelukt.", "Message", MessageBoxButton.OK, MessageBoxImage.Information);
                ReportsWindow MW = new ReportsWindow(connectionString);
                MW.Show();
                this.Close();