Lou*_*ens 10 c# sql database sqlconnection
我一直在尝试通过我的C#代码连接到我的数据库(与我的代码位于同一台计算机上).问题是我一直得到"登录失败的用户"""错误...我承认我对连接数据库的知识很少,我已经尝试了其他问题中的几乎所有步骤!
这是我的代码的一部分:
SqlConnection connection = new SqlConnection(ConfigurationManager.ConnectionStrings["SQLServerConnection"].ConnectionString);
SqlCommand command = connection.CreateCommand();
command.CommandText = @"IF EXISTS
(
SELECT *
FROM user
WHERE EMAILADRES = @email and WACHTWOORD = @password
) SELECT CAST (1 as bit)
ELSE
SELECT CAST(0 as bit)";
command.Parameters.AddWithValue("email", email);
command.Parameters.AddWithValue("password", password);
connection.Open();
object ReturnBool = command.ExecuteScalar();
connection.Close();
Run Code Online (Sandbox Code Playgroud)
这是我的连接字符串:
<add name="SQLServerConnection" connectionString="Server=localhost; Database=database1;uid=NT AUTHORITY\NETWORK SERVICE" />
Run Code Online (Sandbox Code Playgroud)
dar*_*yal 24
你需要改变连接字符串;
<add name="SQLServerConnection" connectionString="Server=localhost;Database=database1;Trusted_Connection=True;/>
Run Code Online (Sandbox Code Playgroud)
如果您使用Windows身份验证连接到本地数据库,则需要设置Trusted_Connection=True; 如果您使用的是SQL Server身份验证,则需要声明User Id=myUsername; Password=myPassword;.
我建议这样做:
1)将连接字符串更改为:
<add name="SQLServerConnection" connectionString="Server=.;Database=database1;Trusted_Connection=True;"/>
Run Code Online (Sandbox Code Playgroud)
'服务器='. - 使用计算机上的默认SQL Server实例,
'Trusted_Connection = True' - Windows身份验证用于验证您对SQL Server实例的访问权限.
2)签入Sql Management Studio是您的Windows用户有权访问'database1'.
你得到的第二个错误,因为你应该在参数名称中添加'@',如下所示:
command.Parameters.AddWithValue("@email", email);
command.Parameters.AddWithValue("@password", password);
Run Code Online (Sandbox Code Playgroud)
我还建议你改变你的代码:
using (var connection = new SqlConnection(ConfigurationManager.ConnectionStrings["SQLServerConnection"].ConnectionString))
{
using (var command = connection.CreateCommand())
{
command.CommandText = @"IF EXISTS
(
SELECT *
FROM user
WHERE EMAILADRES = @email and WACHTWOORD = @password
) SELECT CAST (1 as bit)
ELSE
SELECT CAST(0 as bit)";
command.Parameters.AddWithValue("@email", email);
command.Parameters.AddWithValue("@password", password);
connection.Open();
var result = command.ExecuteScalar();
}
}
Run Code Online (Sandbox Code Playgroud)