MySQL更新+ - 金额

时间:2017-06-14 10:37:12

标签: c# mysql asp.net crud

我得到了这个更新的东西,我无法弄清楚。保存按钮似乎正在工作,它更新表。我似乎无法弄清楚SaveToStock方法。它抛出了这个错误:

  

您的SQL语法有错误;检查手册   对应于您的MySQL服务器版本,以便使用正确的语法   靠近' 90'在第1行

我尝试了一个断点,得到了这个。 Break data

保存按钮

protected void saveButton_Click(object sender, EventArgs e)
{
    using (MySqlConnection connection = new MySqlConnection(connectionString))
    {
        connection.Open();

        MySQLParser parser = new MySQLParser(connection);

        int nonsoldamount = 0;
        if (parser.hasRows("SELECT * FROM dpf_stock WHERE geometry = '" + DropDownListGeometry.SelectedValue + "' AND length = '" + DropDownListLength.SelectedValue.Replace(',', '.') + "' AND CPSI = '" + DropDownListCPSI.SelectedValue + "'"))
        {
            nonsoldamount = Convert.ToInt32(parser.readSelectCommand("SELECT amount FROM dpf_stock WHERE geometry = '" + DropDownListGeometry.SelectedValue + "' AND length = '" + DropDownListLength.SelectedValue.Replace(',', '.') + "' AND CPSI = '" + DropDownListCPSI.SelectedValue + "'", "amount"));
            if (editing)
            {
                oldamount = Convert.ToInt32(parser.readSelectCommand("SELECT amount FROM dpf_sale where dpfSaleID = " + IDdpfSale, "amount"));
                nonsoldamount = nonsoldamount + oldamount;
            }
            if (nonsoldamount < Convert.ToInt32(TextBoxAmount.Text))
            {
                ErrorMessage.Controls.Add(new LiteralControl("<span class=\"error\">There are only " + nonsoldamount + " in stock with the selected attributes</span>"));
                return;
            }
        }
        else
        {
            ErrorMessage.Controls.Add(new LiteralControl("<span class=\"error\">There are 0 in stock with the selected attributes</span>"));
            return;
        }

        string sql_query = "";

        if (editing)
        {
            oldamount = Convert.ToInt32(parser.readSelectCommand("SELECT amount FROM dpf_sale where dpfSaleID = " + IDdpfSale, "amount"));

            sql_query = "UPDATE dpf_sale SET orderNo = ?orderNo, fk_operatorID = ?operator, status = ?status, amount = ?amount, geometry = ?geometry, length = ?length, CPSI = ?CPSI " +
                        "WHERE dpfSaleID = ?IDdpfSale";
        }
        else
        {
            sql_query = "INSERT INTO dpf_sale (orderNo, fk_operatorID, amount, geometry, length, CPSI, status) " +
                        "VALUES (?orderNo, ?operator, ?amount, ?geometry, ?length, ?CPSI, ?status)";
        }

        MySqlCommand myCommand = new MySqlCommand(sql_query, connection);

        myCommand.Parameters.AddWithValue("?IDdpfSale", IDdpfSale);
        myCommand.Parameters.AddWithValue("?orderNo", TextBoxOrderNo.Text);
        myCommand.Parameters.AddWithValue("?operator", DropDownListOperator.SelectedValue);
        myCommand.Parameters.AddWithValue("?geometry", DropDownListGeometry.SelectedValue);
        myCommand.Parameters.AddWithValue("?length", DropDownListLength.SelectedValue.Replace(',', '.'));
        myCommand.Parameters.AddWithValue("?status", DropDownListStatus.SelectedValue);
        myCommand.Parameters.AddWithValue("?CPSI", DropDownListCPSI.SelectedValue);
        myCommand.Parameters.AddWithValue("?amount", TextBoxAmount.Text);

        myCommand.ExecuteNonQuery();

        saveToStock();
    }

    editing = false;
    IDdpfSale = 0;
    Response.Redirect("dpf_sale.aspx");
}

股票变动

private void saveToStock()
{
    connection = new MySqlConnection(connectionString);
    parser = new MySQLParser(connection);
    connection.Open();

    string sql_stock = "";
    string sql_log = "";
    int newsaleID;

    if (editing == true)
    {
        sql_stock = "UPDATE dpf_stock SET amount = amount + " + oldamount + " - " + TextBoxAmount.Text + " WHERE geometry = '" + DropDownListGeometry.SelectedValue + "' AND length = '" + DropDownListLength.SelectedValue.Replace(',', '.') + "' AND CPSI = '" + DropDownListCPSI.SelectedValue;
        sql_log = "UPDATE dpf_stock_log SET amount = " + TextBoxAmount.Text + " WHERE sale = 1 and id = " + IDdpfSale;
    }
    else
    {
        newsaleID = Convert.ToInt32(parser.readSelectCommand("SELECT MAX(dpfSaleID) id FROM dpf_sale", "id"));
        sql_log = "INSERT INTO dpf_stock_log (id, assembly, sale, amount) VALUES (" + newsaleID + ", 0, 1, " + TextBoxAmount.Text + ")";

        if (parser.hasRows("SELECT * FROM dpf_stock WHERE geometry = '" + DropDownListGeometry.SelectedValue + "' AND length = '" + DropDownListLength.SelectedValue.Replace(',', '.') + "' AND CPSI = '" + DropDownListCPSI.SelectedValue + "'"))
        {
            sql_stock = "UPDATE dpf_stock SET amount = amount - " + TextBoxAmount.Text + " WHERE geometry = '" + DropDownListGeometry.SelectedValue + "' AND length = '" + DropDownListLength.SelectedValue.Replace(',', '.') + "' AND CPSI = '" + DropDownListCPSI.SelectedValue;
        }
        else
        {
            return;
        }
    }

    MySqlCommand myCommand1 = new MySqlCommand(sql_stock, connection);
    myCommand1.ExecuteNonQuery();



    MySqlCommand myCommand2 = new MySqlCommand(sql_log, connection);
    myCommand2.ExecuteNonQuery();
    connection.Close();
}

0 个答案:

没有答案