如何检查用户是否将注册字段留空

时间:2015-03-16 22:57:38

标签: c# sql-server count null

我有登记表。在这种情况下,它只包含USERNAME和PASSWORD。

当我在SQL Server中创建表时,我将两列都放在NOT NULL上但是当我尝试注册而不输入用户名或密码时没有错误,我的表单'注册'新用户例如没有密码(如果我没有输入密码)。

这是我的代码,所以如果有人可以帮我解决这个问题,也可以说是否有其他错误/用代码写得不好,因为我是所有这些的新手。我认为我在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();
    }
    }

1 个答案:

答案 0 :(得分:0)

如果我已正确理解这一点,那么您有一个用C#编写的应用程序,它与SQL Server后端进行交互。

您应该能够在C#代码中添加一个检查,以便在单击按钮时检查文本框是否为空。我的C#非常生疏,但可以这样做:

if (string.IsNullOrWhiteSpace(textBox1.Text) || string.sNullOrWhiteSpace(textBox2.Text)) 
{
    messagebox.show("Invalid entry"); 
}

可悲的是,我没有Visual Studio来检查这一点,但是在执行SQL之前我还要检查文本框是否为空。

此外,我还会将您的文本框名称更改为您要记住的内容,否则您在维护代码时会发现这是一场噩梦。