在没有要插入的数据时阻止查询插入

时间:2012-09-05 05:12:43

标签: c# sql-server-ce

我正在使用C#和SQL Server CE,我的问题是:

  1. 在我的WinForms应用程序中,我有几个文本框要填充数据。我想知道在没有填充文本框的情况下如何防止用户输入错误?

  2. 如何确定查询插入的文本框中何时没有数据?

  3. 这是我的代码:

    koneksi.Open();
    int query = perintahsql.ExecuteNonQuery();
    try
    {
        if (query > 0)
        {
            MessageBox.Show("Success.");
        }
        else
        {
            MessageBox.Show("Can't insert record because of empty(s) field.");
            perintahsql.Cancel();
        }
    }
    catch(Exception ex)
    {
        MessageBox.Show(ex.ToString(), "Can't insert record!");
        perintahsql.Parameters.Clear();
    }
    koneksi.Close();
    

2 个答案:

答案 0 :(得分:0)

您需要为您的Textfields验证方法,然后在数据库中声明数据之前运行它,因此您可以根据需要采用更多方法。例如:

Control Validation

writing your own validating routine

使用validation libraries

答案 1 :(得分:0)

如果适合您,请尝试此解决方案。

private bool ReadyToInsert()
{
    bool isOk = true;
    TextBox[] arrText = new TextBox[] { textBox1, textBox2, textBox3 };

    foreach (TextBox i in arrText)
    {
        if (i.Text.Trim().Length == 0)
        {
            isOk = false;
        }
    }
    return isOk;
}

这是一个检查表单中所有文本框的函数。在尝试插入记录之前调用此函数。

用法:类似

// other codes here
if (ReadyToInsert)
{
    // call insert method here
}
else
{
    MessageBox.Show("Can't insert record because of empty(s) field.");
}