C# 无法打开登录wpf sql请求的数据库

C# 无法打开登录wpf sql请求的数据库,c#,sql,wpf,C#,Sql,Wpf,我正在WPF中创建一个应用程序。该应用程序称为St Johns,它基本上是一组文本框,用于保存患者的详细信息。到目前为止,我已经建立了一个数据库,文本框和一些背景代码。我目前遇到一个错误,我相信这与连接字符串有关。目前我是C#和SQL Server的新手 错误状态为: 无法打开登录请求的数据库。登录失败 这是我的源代码。我有5个文本框和一个按钮(save\u btn): (顺便说一句,我在互联网上搜索了很长时间,无法找到/理解什么不正确/如何修复。)再次检查您的连接字符串 始终建议使用参数化查询

我正在WPF中创建一个应用程序。该应用程序称为St Johns,它基本上是一组文本框,用于保存患者的详细信息。到目前为止,我已经建立了一个数据库,文本框和一些背景代码。我目前遇到一个错误,我相信这与连接字符串有关。目前我是C#和SQL Server的新手

错误状态为:

无法打开登录请求的数据库。登录失败

这是我的源代码。我有5个文本框和一个按钮(
save\u btn
):


(顺便说一句,我在互联网上搜索了很长时间,无法找到/理解什么不正确/如何修复。)

再次检查您的连接字符串

始终建议使用参数化查询以避免sql注入

string sql = "INSERT INTO [patient] (PatientId , Firstname, Surname, Phonenumber, time) values (@PatientId,@Firstname,@Surname,@Phonenumber,@time)";
SqlCommand exeSql = new SqlCommand(sql, con);
exeSql.Parameters.AddWithValue("@PatientId",patient_id_tb.Text);
exeSql.Parameters.AddWithValue("@Firstname",firstname_tb.Text);
exeSql.Parameters.AddWithValue("@Surname",surname_tb.Text );
exeSql.Parameters.AddWithValue("@Phonenumber",phone_number_tb.Text);
exeSql.Parameters.AddWithValue("@time",time_tb.Text);

集成安全性意味着您的应用程序将以当前登录的windows用户身份连接到数据库。您当前的windows用户帐户是否有有效的数据库登录,或者您是否使用特定的用户名/密码登录

如果您有特定的用户名/密码,则必须在连接字符串中指定它们:

con.ConnectionString = @"Data Source=(LocalDB)\v11.0;Initial Catalog=StJohnsDatabase;User Id={username}; Password={password};Connect Timeout=15;Encrypt=False;TrustServerCertificate=False";

我发现了问题。这100%与连接字符串不正确有关

您确定您的连接字符串正确吗?由于数据库似乎不允许从正在运行应用程序的应用程序池进行连接。。。。注意。我如何测试或找出连接字符串是什么?这是您的本地sql server-您需要具有某种访问权限。创建对您的表具有访问权限的特定用户,或授予应用程序池用户对其的权限。
con.ConnectionString = @"Data Source=(LocalDB)\v11.0;Initial Catalog=StJohnsDatabase;User Id={username}; Password={password};Connect Timeout=15;Encrypt=False;TrustServerCertificate=False";