将图像从CSV上传到datagridview到数据库

时间:2017-10-23 09:07:32

标签: c# winforms csv datagridview

您好我想知道如何使用CSV文件中的使用图像到数据库的数据视图?

 OpenFileDialog ofd = new OpenFileDialog();
        ofd.DefaultExt = ".csv";
        ofd.Filter = "Comma Separated (*.csv)|*.csv";
        // ofd.ShowDialog();
        if (ofd.ShowDialog() == DialogResult.OK)
        {
            txtFileName.Text = ofd.FileName;

            DataTable dataTable = new DataTable();
            string filePath = txtFileName.Text;
            StreamReader streamReader = new StreamReader(filePath);
            string[] totalData = new string[System.IO.File.ReadAllLines(filePath).Length];
            totalData = streamReader.ReadLine().Split(',');

            foreach (string dataItem in totalData)
            {
                dataTable.Columns.Add(dataItem);
            }

            while (!streamReader.EndOfStream)
            {
                totalData = streamReader.ReadLine().Split(',');
                dataTable.Rows.Add(totalData);
            }
            dataGridView1.DataSource = dataTable;
        }

这是我用于将csv文件浏览到datagridview的代码,但我不确定这些代码是否会导致图像出现问题。^

cmd.Parameters.AddWithValue("@image", dataGridView1.Rows[i].Cells[22].Value);

这是将数据从datagridview上传到数据库的代码行,但错误消息显示上传的格式不正确。^

提前感谢您提供任何帮助

1 个答案:

答案 0 :(得分:0)

试试这个解决方案:

    SqlParameter param = cmd.Parameters.Add("@image", SqlDbType.VarBinary);
    if (dataGridView1.Rows[i].Cells[22].Value != null)
                        param.Value = dataGridView1.Rows[i].Cells[22].Value;
    else
                        param.Value = DBNull.Value;

尝试设置dbtype可能是因为取消定义dbtype而导致错误