【问题标题】:How to format datatimer to insert in a DB如何格式化datatimer以插入数据库
【发布时间】:2017-03-18 00:14:42
【问题描述】:

有人可以帮我插入吗?我正在尝试在数据库中插入,但我必须将 dateTimePicker pro 转换为正确的格式,我不知道它是否完全一样,我已经尝试过 google 并以多种方式对其进行了测试,但没有一个对我有用。 第一个图像是 INSERT,它在一个类中。 第二个图像是要插入的自己的按钮。 第三张图片是数据库(是的,我在 wamp msm pq 的 phpmyadmin 中做的是一个非常小而简单的数据库)。 当我尝试插入时发生的错误只是在那个抛出中;关于插入,我认为这是帮助的问题。感谢任何可以提供帮助的人。 我只是无法格式化“Datav”。

public void inserir_produtov()
    {
        try
        {
            string inserir1 = "INSERT INTO venda VALUES (null, '" + Datav.ToString("yyyy-MM-dd HH:mm:ss") + "', '" +
                                                     Id + "','" +
                                                     Quantidadev + "','" +
                                                     Valorv.ToString().Replace(',', '.') + "');";
            bancodedados1.ExecutarComandos(inserir1);
        }
        catch
        {
            throw;
        }
    }

这是要插入的按钮:

private void btngravar1_Click(object sender, EventArgs e)
    {
        vendas.Id = int.Parse(txtidproduto.Text);
        vendas.Quantidadev = int.Parse(txtquantidade2.Text);
        vendas.Valorv = double.Parse(txtvalor.Text);
        vendas.Datav = DateTime.Parse(dateTimePicker1.Text);

        if (txtidvenda.Text == "")
        {
             vendas.inserir_produtov();
             Limpar();
             MessageBox.Show("Dados inseridos com sucesso.");    
        }

【问题讨论】:

    标签: c# mysql sql


    【解决方案1】:

    改用参数,这样您就不需要格式化。这也有助于防止 SQL 注入。

    看看这个链接:

    SQL Insert Query Using C#

    【讨论】:

    • 这个程序只是为了我的功课,现在不需要防止sql注入。
    • 当然,日期可能如下所示:2004-05-23T14:25:10.487
    • 您的字符串的日期格式可能与数据库的格式不同。您需要使用参数,因此您不必转换格式。您还需要防止 SQL 注入作业。
    猜你喜欢
    • 1970-01-01
    • 2018-07-13
    • 2015-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多