gpt4 book ai didi

c# - EndExecuteNonQuery,它是什么,它有什么作用以及如何使用它?

转载 作者:行者123 更新时间:2023-11-29 08:37:36 24 4
gpt4 key购买 nike

我正在通过 C# 应用程序在 mysql 数据库中插入数据,我想知道插入是否成功,并在互联网上搜索我读到了有关“EndExecuteNonQuery”的内容,但它没有解释任何内容的方式应该使用它。我不知道如何使用它,甚至不知道为什么要使用它。

try
{
cepescola = txtcepescola.Text + txtcepescola1.Text;
num_escola = int.Parse(txtnumescola.Text);
cnpj = txtcnpj.Text + txtcnpj2.Text;
telefoneescola = txtddd.Text + txttel.Text;
inserte.Append("Insert into estabelecimento ( Nome,CEP,Endereco,Numero,Bairro,UF,CNPJ,Telefone)");
inserte.Append(" values ");
inserte.Append("( '" + txtnomeescola.Text + "','" + cep + "','" + txtenderecoescola.Text + "','" + num_escola + "',");
inserte.Append(" '" + txtbairroescola.Text + "','" + cbxufescola.Text + "','" + cnpj + "','" + telefoneescola + "')");
conexao.ExecutaComando(inserte.ToString());
groupBox2.Enabled = false;
btnestabelecimento.Visible = false;
btnlogin.Visible = true;
txtlogin.Focus();
}
catch (Exception)
{
MessageBox.Show("Dados digitados em formato incorreto.", "Erro de Dados", MessageBoxButtons.OK, MessageBoxIcon.Error);
groupBox2.Enabled = true;
btnestabelecimento.Visible = true;
btnlogin.Visible = false;
txtlogin.Focus();

}

在这种情况下我可以在哪里使用它以及我应该更改什么?观察:在“Conexão.ExecutaComando(insertd.ToString());”这是我创建的一个用于执行命令的类。

还有一件事,我在出现异常的情况下使用了 Try 和 Catch,但如果用户写了一些必须写数字的单词,我想中止连接。我的应用程序正在查找错误,但它仍然在插入。

谢谢。

最佳答案

EndExecuteNonQuery i 与 BeginExecuteNonQuery 一起使用在数据库上异步执行命令。我建议您在考虑异步运行查询之前先更轻松地解决问题。

关于您需要验证用户输入的问题,我建议两件事。第一个是通过在命令中使用参数来消除 SQL 注入(inject)攻击的风险。例如,不要使用以下内容(为了简洁而减少):

var sql = "insert into estabelecimento (Nome) values ('" + txtnomeescola.Text + "')";

您应该使用以下内容:

var sql = "insert into estabelecimento (Nome) values (@nomeescola)";
//assume cmd is a SqlCommand instance
cmd.Parameters.AddWithValue("@nomeescola", txtnomeescola.Text);

其次,如果您需要对查询的输入执行验证,那么您应该执行命令之前执行此操作。您已经通过将 num_escola 参数解析为 int 来验证它,这将使其不再是字符串。您应该对其他数字参数执行相同的操作,也许可以考虑使用 int.TryParse相反。

关于c# - EndExecuteNonQuery,它是什么,它有什么作用以及如何使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14790401/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com