如何检查用户是否将注册字段留空
How to check if user left register field empty
我有注册表。在这种情况下,它将只包含 USERNAME 和 PASSWORD。
当我在 SQL 服务器中创建 table 时,我将两列都设置为 NOT NULL 但是当我尝试在不输入用户名或密码的情况下进行注册时,没有任何错误并且我的表格 'registrates' 例如没有密码的新用户(如果我没有输入密码)。
这是我的代码,所以如果有人可以帮助我解决这个问题,并说明是否有其他 wrong/poorly 是用代码编写的,因为我是所有这些方面的新手。我认为我在 SQL 注入问题上做得很好,但你永远不知道。非常感谢您的回复。
private void button1_Click(object sender, EventArgs e)
{
SqlConnection cn = new SqlConnection("Data Source=HOME-PC;Initial Catalog=TestDB1;Integrated Security=True");
try
{
cn.Open();
String query = "INSERT INTO dbo.users (uUsername, uPassword) VALUES (@uUsername, @uPassword)";
SqlCommand command = new SqlCommand(query, cn);
command.Parameters.AddWithValue("@uUsername", textBox1.Text);
command.Parameters.AddWithValue("@uPassword", textBox2.Text);
command.ExecuteNonQuery();
MessageBox.Show("OK");
this.usersTableAdapter.Fill(this.testDB1DataSet.users);
}
catch (Exception ex)
{
MessageBox.Show("Error");
}
finally
{
cn.Close();
}
}
如果我没理解错的话,你有一个用 C# 编写的应用程序,它与 SQL 服务器后端交互。
您应该能够在 C# 代码中添加一个检查,以在您单击按钮时检查文本框是否为空。我的 C# 很生疏,但可以这样做:
if (string.IsNullOrWhiteSpace(textBox1.Text) || string.sNullOrWhiteSpace(textBox2.Text))
{
messagebox.show("Invalid entry");
}
遗憾的是我没有 Visual Studio 检查这个,但我会在执行 SQL 之前检查文本框是否为空。
此外,我会将您的文本框名称更改为您会记住的名称,否则在维护代码时您会发现这是一场噩梦。
我有注册表。在这种情况下,它将只包含 USERNAME 和 PASSWORD。
当我在 SQL 服务器中创建 table 时,我将两列都设置为 NOT NULL 但是当我尝试在不输入用户名或密码的情况下进行注册时,没有任何错误并且我的表格 'registrates' 例如没有密码的新用户(如果我没有输入密码)。
这是我的代码,所以如果有人可以帮助我解决这个问题,并说明是否有其他 wrong/poorly 是用代码编写的,因为我是所有这些方面的新手。我认为我在 SQL 注入问题上做得很好,但你永远不知道。非常感谢您的回复。
private void button1_Click(object sender, EventArgs e)
{
SqlConnection cn = new SqlConnection("Data Source=HOME-PC;Initial Catalog=TestDB1;Integrated Security=True");
try
{
cn.Open();
String query = "INSERT INTO dbo.users (uUsername, uPassword) VALUES (@uUsername, @uPassword)";
SqlCommand command = new SqlCommand(query, cn);
command.Parameters.AddWithValue("@uUsername", textBox1.Text);
command.Parameters.AddWithValue("@uPassword", textBox2.Text);
command.ExecuteNonQuery();
MessageBox.Show("OK");
this.usersTableAdapter.Fill(this.testDB1DataSet.users);
}
catch (Exception ex)
{
MessageBox.Show("Error");
}
finally
{
cn.Close();
}
}
如果我没理解错的话,你有一个用 C# 编写的应用程序,它与 SQL 服务器后端交互。
您应该能够在 C# 代码中添加一个检查,以在您单击按钮时检查文本框是否为空。我的 C# 很生疏,但可以这样做:
if (string.IsNullOrWhiteSpace(textBox1.Text) || string.sNullOrWhiteSpace(textBox2.Text))
{
messagebox.show("Invalid entry");
}
遗憾的是我没有 Visual Studio 检查这个,但我会在执行 SQL 之前检查文本框是否为空。
此外,我会将您的文本框名称更改为您会记住的名称,否则在维护代码时您会发现这是一场噩梦。