从从 C# MSSQL 中的另一个表中检索的 datagridview 数据插入到数据库

西乔·乔治·奥门

我有两个表“项目”和“发票”。我的表单中有一个带有标题的“datagridview” 现在,当用户输入“item desc”单元格值(“使用 item desc 单元格的自动完成属性和根据用户输入进行填充的按键按下事件')。现在用户将输入“数量”和“项目总数”(现在手动输入)。然后按提交按钮。问题来了。它向我显示错误输入字符串不正确。但是当我手动输入所有单元格时(我的意思是不使用 keydown 事件来填充数据),数据将插入到发票表中。

这是我要插入发票表的提交按钮 <

private void btn_submit_Click(object sender, EventArgs e)
        {
            try
            {
                foreach (DataGridViewRow row in dtgrdvw_items.Rows)
                {
                    using (SqlCommand cmd = new SqlCommand("insert into invoice values (@inv_no,@inv_date,@inv_cust_name,@inv_remarks,@inv_type,@inv_item_code,@inv_item_desc,@inv_item_rate," +
                        "@inv_item_qty,@inv_item_total)", con))
                    {
                        cmd.Parameters.AddWithValue("@inv_no", Convert.ToInt32(txt_inv_no.Text));
                        cmd.Parameters.AddWithValue("@inv_date", txt_date.Text);
                        cmd.Parameters.AddWithValue("@inv_cust_name", txt_cust_name.Text);
                        cmd.Parameters.AddWithValue("@inv_remarks", txt_remarks.Text);
                        cmd.Parameters.AddWithValue("@inv_type", cmbx_inv_type.SelectedItem);
                        cmd.Parameters.AddWithValue("@inv_item_code",Convert.ToInt32(row.Cells[0].Value));
                        cmd.Parameters.AddWithValue("@inv_item_desc",Convert.ToString(row.Cells[1].Value));
                        cmd.Parameters.AddWithValue("@inv_item_rate",Convert.ToDecimal(row.Cells[2].Value));
                        cmd.Parameters.AddWithValue("@inv_item_qty",Convert.ToInt32(row.Cells[3].Value));
                        decimal total = Convert.ToDecimal(row.Cells[2].Value) * Convert.ToDecimal(row.Cells[3].Value);
                        cmd.Parameters.AddWithValue("@inv_item_total",total);
                        if (con.State == ConnectionState.Closed)
                        {
                            con.Open();
                        }
                        cmd.ExecuteNonQuery();
                        con.Close();

                    }

                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            MessageBox.Show("invoice submitted");
        }

>

这是我的按键事件

<

 private void dtgrdvw_items_KeyDown(object sender, KeyEventArgs e)
          {
            if (e.KeyCode == Keys.Tab)
            {

                int rowindex = dtgrdvw_items.CurrentCell.RowIndex;
                int columnindex = dtgrdvw_items.CurrentCell.ColumnIndex;
                if (columnindex == 1)
                {
                    SqlCommand cmd = new SqlCommand("Select * from item WHERE item_desc=@inv_item_desc", con);
                    cmd.Parameters.Add("@inv_item_desc", SqlDbType.VarChar).Value = dtgrdvw_items.Rows[rowindex].Cells[columnindex].Value.ToString();
                    if (con.State == ConnectionState.Closed)
                    {
                        con.Open();
                    }
                    SqlDataReader dr = cmd.ExecuteReader();
                    while (dr.Read())
                    {
                      dtgrdvw_items.Rows[rowindex].Cells[0].Value = dr[0].ToString();
                       dtgrdvw_items.Rows[rowindex].Cells[1].Value = dr[1].ToString();
                       dtgrdvw_items.Rows[rowindex].Cells[3].Value = dr[2].ToString();
                    }
                      dr.Close();
                }
           }
       } 

>

这是我的网格视图

请帮忙。

玛丽

网格中的单元格 0 代码 1 描述 2 数量 3 比率 4 总计

cmd.Parameters.AddWithValue("@inv_item_code",Convert.ToInt32(row.Cells[0].Value));
cmd.Parameters.AddWithValue("@inv_item_desc",Convert.ToString(row.Cells[1].Value));
cmd.Parameters.AddWithValue("@inv_item_rate",Convert.ToDecimal(row.Cells[2].Value)); //Change

应该:

cmd.Parameters.AddWithValue("@inv_item_rate",Convert.ToDecimal(row.Cells[3].Value));

cmd.Parameters.AddWithValue("@inv_item_qty",Convert.ToInt32(row.Cells[3].Value)); //Change

应该:

cmd.Parameters.AddWithValue("@inv_item_qty",Convert.ToInt32(row.Cells[2].Value)); //Change

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用C#将访问数据库中的表复制到另一个表中

来自分类Dev

根据MSSQL中的列值从任何一个表中检索数据

来自分类Dev

使用DataGridView从另一个表单在TextBox中显示数据库信息

来自分类Dev

如何使用VB.NET的SMO类将单个表传输到MSSQL服务器中的另一个数据库?

来自分类Dev

使用C#Windows窗体将CSV文件插入到mysql数据库表中

来自分类Dev

使用C#编辑DataGridview并将其保存在数据库表中

来自分类Dev

如何在C#中将数据表插入到Access数据库

来自分类Dev

如何从Laravel中的另一个数据库表中检索值?

来自分类Dev

在C#中从DataGridView更新数据库表

来自分类Dev

如何在C#中将数据从数据库显示到datagridview中?

来自分类Dev

从数据库检索数据到DataGridView C#

来自分类Dev

将数据行从C#中的另一个sql表插入到sql表中

来自分类Dev

在C#中使用实体框架在datagridview中显示数据库中的数据

来自分类Dev

从多个表插入,更新datagridview C#中的数据

来自分类Dev

将数据库中一个表的值插入到另一个数据库中的另一表

来自分类Dev

使用C#Windows窗体将CSV文件插入到mysql数据库表中

来自分类Dev

如何将数据从一个表插入和检索到mysql数据库中的另一个表

来自分类Dev

将值插入mysql数据库并将其检索以插入到另一个表

来自分类Dev

C#将DataGridView数据插入数据库成功,但仅返回第一个值n次?

来自分类Dev

如何使用MSSQL将行“乘”到另一个表中的每一行

来自分类Dev

从一个数据库表插入到 ANDROID 中的另一个数据库表

来自分类Dev

Datagridview 选择我通过数据库插入的最后一个插入行

来自分类Dev

如何使用 C# 将数据插入到 MSSQL 表中

来自分类Dev

从dataGridView插入数据到数据库报错

来自分类Dev

c#在datagridview中显示数据库中的数据

来自分类Dev

未插入数据库的 datagridview 中的空行

来自分类Dev

在 C# 中从 mysql 数据库填充 datagridview

来自分类Dev

从datagridview转换一个空的空整数并存储到数据库中

来自分类Dev

从 MSSQL 填充的 DataGridView 中的 IP 到 DNS?

Related 相关文章

  1. 1

    使用C#将访问数据库中的表复制到另一个表中

  2. 2

    根据MSSQL中的列值从任何一个表中检索数据

  3. 3

    使用DataGridView从另一个表单在TextBox中显示数据库信息

  4. 4

    如何使用VB.NET的SMO类将单个表传输到MSSQL服务器中的另一个数据库?

  5. 5

    使用C#Windows窗体将CSV文件插入到mysql数据库表中

  6. 6

    使用C#编辑DataGridview并将其保存在数据库表中

  7. 7

    如何在C#中将数据表插入到Access数据库

  8. 8

    如何从Laravel中的另一个数据库表中检索值?

  9. 9

    在C#中从DataGridView更新数据库表

  10. 10

    如何在C#中将数据从数据库显示到datagridview中?

  11. 11

    从数据库检索数据到DataGridView C#

  12. 12

    将数据行从C#中的另一个sql表插入到sql表中

  13. 13

    在C#中使用实体框架在datagridview中显示数据库中的数据

  14. 14

    从多个表插入,更新datagridview C#中的数据

  15. 15

    将数据库中一个表的值插入到另一个数据库中的另一表

  16. 16

    使用C#Windows窗体将CSV文件插入到mysql数据库表中

  17. 17

    如何将数据从一个表插入和检索到mysql数据库中的另一个表

  18. 18

    将值插入mysql数据库并将其检索以插入到另一个表

  19. 19

    C#将DataGridView数据插入数据库成功,但仅返回第一个值n次?

  20. 20

    如何使用MSSQL将行“乘”到另一个表中的每一行

  21. 21

    从一个数据库表插入到 ANDROID 中的另一个数据库表

  22. 22

    Datagridview 选择我通过数据库插入的最后一个插入行

  23. 23

    如何使用 C# 将数据插入到 MSSQL 表中

  24. 24

    从dataGridView插入数据到数据库报错

  25. 25

    c#在datagridview中显示数据库中的数据

  26. 26

    未插入数据库的 datagridview 中的空行

  27. 27

    在 C# 中从 mysql 数据库填充 datagridview

  28. 28

    从datagridview转换一个空的空整数并存储到数据库中

  29. 29

    从 MSSQL 填充的 DataGridView 中的 IP 到 DNS?

热门标签

归档