public static bool ExecuteSql(string sql) { try { using (sc = new SqlConnection(connStr)) { sc.Open(); SqlCommand sqlCommand = new SqlCommand(sql, sc); int result = sqlCommand.ExecuteNonQuery(); if (result > 0) { return true; } else { return false; } } } catch(Exception ex) { throw ex; } finally { if (sc.State == System.Data.ConnectionState.Open) { sc.Close(); } } }
时间: 2024-02-10 12:07:39 浏览: 26
这是一段C#代码,它的作用是执行一个SQL语句并返回执行结果。具体来说,它首先创建一个SqlConnection对象,使用指定的连接字符串打开数据库连接。然后,它创建一个SqlCommand对象,使用给定的SQL语句和SqlConnection对象来执行查询,最后返回受影响的行数。如果受影响的行数大于0,它返回true,否则返回false。在这段代码的末尾,它检查SqlConnection对象的状态,如果它是打开的,它就会关闭它。如果执行过程中出现异常,它会抛出异常并向上层传递。
相关问题
public static bool ExecuteSql
这也是一个 C# 语言中的代码片段,其中 ExecuteSql 是一个方法名,表示用于执行 SQL 命令的方法。而 bool 是方法的返回值类型,表示该方法会返回一个布尔值类型的结果。通常情况下,我们会在代码中使用 ExecuteSql 方法来执行一条 SQL 命令,并返回该命令是否执行成功的结果。该方法可能会包含一些参数,例如 SQL 命令字符串、数据库连接对象等。具体实现方式可以根据实际情况而定。
using System; using System.Data; using System.Data.SqlClient; public class UserManager { private string connectionString = "YourConnectionString"; public bool AuthenticateUser(string username, string password) { bool isAuthenticated = false; using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); string query = "SELECT COUNT(*) FROM Users WHERE Username = @Username AND Password = @Password"; using (SqlCommand command = new SqlCommand(query, connection)) { command.Parameters.AddWithValue("@Username", username); command.Parameters.AddWithValue("@Password", password); int count = (int)command.ExecuteScalar(); isAuthenticated = count > 0; } } return isAuthenticated; } public string GetUserRole(string username) { string role = string.Empty; using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); string query = "SELECT RoleName FROM Roles WHERE RoleID = (SELECT RoleID FROM Users WHERE Username = @Username)"; using (SqlCommand command = new SqlCommand(query, connection)) { command.Parameters.AddWithValue("@Username", username); role = (string)command.ExecuteScalar(); } } return role; } public bool HasPermission(string roleName, string permissionName) { bool hasPermission = false; using (SqlConnection connection = new SqlConnection(connectionString))
很抱歉,我之前的回答有些问题。这里是完整的示例代码:
```csharp
using System;
using System.Data;
using System.Data.SqlClient;
public class UserManager
{
private string connectionString = "YourConnectionString";
public bool AuthenticateUser(string username, string password)
{
bool isAuthenticated = false;
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
string query = "SELECT COUNT(*) FROM Users WHERE Username = @Username AND Password = @Password";
using (SqlCommand command = new SqlCommand(query, connection))
{
command.Parameters.AddWithValue("@Username", username);
command.Parameters.AddWithValue("@Password", password);
int count = (int)command.ExecuteScalar();
isAuthenticated = count > 0;
}
}
return isAuthenticated;
}
public string GetUserRole(string username)
{
string role = string.Empty;
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
string query = "SELECT RoleName FROM Roles WHERE RoleID = (SELECT RoleID FROM Users WHERE Username = @Username)";
using (SqlCommand command = new SqlCommand(query, connection))
{
command.Parameters.AddWithValue("@Username", username);
role = (string)command.ExecuteScalar();
}
}
return role;
}
public bool HasPermission(string roleName, string permissionName)
{
bool hasPermission = false;
using (SqlConnection connection = new SqlConnection(connectionString))
{
connection.Open();
string query = "SELECT COUNT(*) FROM Permissions WHERE RoleID = (SELECT RoleID FROM Roles WHERE RoleName = @RoleName) AND PermissionName = @PermissionName";
using (SqlCommand command = new SqlCommand(query, connection))
{
command.Parameters.AddWithValue("@RoleName", roleName);
command.Parameters.AddWithValue("@PermissionName", permissionName);
int count = (int)command.ExecuteScalar();
hasPermission = count > 0;
}
}
return hasPermission;
}
}
```
请将 "YourConnectionString" 替换为您的实际数据库连接字符串。这是一个简单的用户管理类,包括身份验证、获取用户角色和检查权限的功能。您可以根据自己的需求进行修改和扩展。
希望这个示例能满足您的需求。如果还有其他问题,请随时提问!