【发布时间】:2019-10-11 20:22:04
【问题描述】:
晚上好,
我正在尝试为我的 C# WinForms 应用程序创建一个基于角色的登录。我仍然是一个非常基本的 C# 用户,这是一个学术项目的一部分。上面的错误正在显示,我不知道如何解决它。
登录是从我创建的本地数据库中获取的,连接到 .NET(对于这个应用程序)。
我有两个用户,一个是管理员用户,一个是默认用户。
请注意,我知道 SQL 注入问题,我会在修复此错误后立即解决。
您能否就如何解决此错误提出建议?
提前谢谢你。
我正在关注一个 YT 教程,并了解了生成错误的部分 - 请参阅下面的代码。
namespace Library_System_Project
{
public partial class MainMenuForm : Form
{
public MainMenuForm(string Role) // Error occurs here
{
InitializeComponent();
lblRole.Text = Role; // Error occurs here
}
另外,以下是不同的形式,但与上述相关:
private void btnOk_Click(object sender, EventArgs e)
{
//Database Connection Setup
SqlConnection Connection = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename = C:\Program Files\Microsoft SQL Server\MSSQL14.SQLEXPRESS\MSSQL\DATA\Library System Project.mdf;Integrated Security=True;Connect Timeout=30;");
string query = "Select * from Users where User_Username = '" + txtUsername.Text.Trim() + "' and User_Password = '" + txtPassword.Text.Trim() + "'";
SqlDataAdapter SDA = new SqlDataAdapter(query, Connection);
DataTable DT = new DataTable();
SDA.Fill(DT);
// Access to Main Menu for Authorized Users
if (DT.Rows.Count == 1)
{
MainMenuForm MainMenu = new MainMenuForm(DT.Rows[0][0].ToString());
MainMenu.Show();
this.Hide();
}
【问题讨论】:
-
Winforms 在其控件上需要一个无参数构造函数。改用属性注入。
-
谢谢伦纳特。抱歉要求很高,但我可以要求实现您在上面的代码中建议的内容,或者给我一个我可以遵循的简单示例,以便我可以更改它,好吗?提前谢谢你