将两种形式的数据插入sql表

多重

会员
已加入
2020年5月24日
留言内容
7
编程经验
1-3
我正在开发一个小型pos应用程序,用户可以在其中进行付款并保存数据库。到目前为止,我从一种表单(datagridview,文本框等)存储数据,但是现在我决定再添加一种表单(用于付款和找零)。这个想法是用户从datagridview(***条形码,数量,名称,价格,总计,增值税等)中的db调用数据,然后按btnpayment(***打开第二个表格***) ,然后用户提供所需的数据(给定付款),然后单击“付款”按钮后,应将两种形式的数据插入sql表
现在,我想使用相同的存储过程同时将两种形式的数据保存到sql db中。

在添加第二个表单之前,我使用以下代码插入数据:

C#:
try
{
    conn.Open();

    foreach (DataGridViewRow row in dtgartikuj.Rows)
    {
        if (!row.IsNewRow)
        {
            SqlCommand cmd = new SqlCommand("insertfaturimi", conn);
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Clear();
            cmd.Parameters.Add(new SqlParameter("@nrfatures", int.Parse(txtnrfatures.Text)));
            cmd.Parameters.Add(new SqlParameter("@klienti", cmbklienti.Text));
            cmd.Parameters.Add(new SqlParameter("@pagesa", faturimi));
            cmd.Parameters.Add(new SqlParameter("@nentotali", txttotali.Text));
            cmd.Parameters.Add(new SqlParameter("@zbritje", txtzbritja.Text));
            cmd.Parameters.Add(new SqlParameter("@totali", totali.Text));
            cmd.Parameters.Add(new SqlParameter("@vleratvsh", textBox1.Text));
            cmd.Parameters.Add(new SqlParameter("@nrartikujve", lblnumri.Text));
            cmd.Parameters.Add(new SqlParameter("@kasieri", lbluser.Text));
            cmd.Parameters.Add(new SqlParameter("@koha", DateTime.Now));
            cmd.Parameters.Add(new SqlParameter("@barkodi", row.Cells[0].Value));
            cmd.Parameters.Add(new SqlParameter("@emertimi", row.Cells[1].Value));
            cmd.Parameters.Add(new SqlParameter("@sasia", row.Cells[2].Value));
            cmd.Parameters.Add(new SqlParameter("@tvsh", row.Cells[4].Value));
            cmd.Parameters.Add(new SqlParameter("@cmimi", row.Cells[3].Value));
            cmd.Parameters.Add(new SqlParameter("@totalipcs", row.Cells[5].Value));
            cmd.Parameters.Add(new SqlParameter("@vlerapatvshpcs", row.Cells[6].Value));
            cmd.Parameters.Add(new SqlParameter("@vleraetvshpcs", row.Cells[7].Value));
            cmd.ExecuteNonQuery();
        }
    }
}

catch (Exception ex)
{
    MessageBox.Show("Faturimi deshtoi" + ex.ToString());
}

finally
{
    conn.Close();
}


第二种形式有一些文本框(付款和找零)。现在我想在第二个表单插入按钮中放入上面的代码,但是不知道如何将两个表单链接在一起。我的问题是我应该在上部代码中更改什么才能放入第二个表格插入按钮,然后同时插入两个表格
 
由主持人最后编辑:

跳伞

工作人员
已加入
2019年4月6日
留言内容
2,497
地点
弗吉尼亚州切萨皮克
编程经验
10+
不幸的是,由于存储过程参数的名称使用阿尔巴尼亚语(?),因此我们很难区分要传入的参数以及第二种形式中可能需要的参数。

如果您向我们展示了存储过程中的内容(例如当您询问 相关问题 在CodeProject中可以做到这一点。

通常,虽然适当的方法是这样的:将数据传输对象同时传递给表单1和表单2。每个表单都填充了他们在DTO中了解的部分。一旦将所有数据填充到DTO中,就可以执行SQL调用,并传递收集的信息。
 
最佳 底部