如何将多个值存储到数组中,然后存储到DB?

时间:2015-11-07 13:40:45

标签: c# mysql datagridview

我正在使用C#进行计费软件。

我需要将dataGridView中的多个值存储到数组中,然后存储到数据库中。

My datagridview

My table structure is

我需要将所有这些值作为单个值存储到“invoice”列中。

我有一些编码,但它没有帮助我。

string[,] invoice = new string[dataGridView1.Rows.Count, dataGridView1.Columns.Count];
            foreach (DataGridViewRow row in dataGridView1.Rows)
            {
                foreach (DataGridViewColumn col in dataGridView1.Columns)
                {
                    invoice[row.Index, col.Index] = dataGridView1.Rows[row.Index].Cells[col.Index].Value.ToString();
                }
            }

此外,我在datagridview中有一个按钮,所以上面的代码有一些问题

“对象引用未设置为对象的实例”

感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

假设Invoice字段是varchar字段,您可以构建包含所有值的字符串并存储该结果:

 var sb = new StringBuilder();
 foreach (DataGridViewRow row in dataGridView1.Rows)
 {    
     sb.Append('<');
     foreach (DataGridViewColumn col in dataGridView1.Columns)
     {
            sb.Append(dataGridView1.Rows[row.Index].Cells[col.Index].Value);
            sb.Append(' ');
     }
     sb.Append('>');
 }
 var toInvoiceField = sb.ToString();