0

我正在尝试将列和图像插入 SQL Server 2008 数据库,但出现 2 个错误

错误 1
​​'System.IO.BinaryReader.BinaryReader(System.IO.Stream)' 的最佳重载方法匹配有一些无效参数(第 62 行第 35 列)

错误 2 参数 1:无法从“datagrid.FileStream”转换为“System.IO.Stream”(第 62 行第 52 列)

我很迷茫怎么办...

        try
        {
            byte[] img = null;
            FileStream fs = new FileStream(picLoc, FileMode.Open, FileAccess.Read);
            BinaryReader br = new BinaryReader(fs);
            img = br.ReadBytes((int)fs.Length);
            string sql = "INSERT INTO PicTable(Name,Image) VALUES(" + textBox1.Text + ",@IMG)";
            if (conn.State != ConnectionState.Open)
                conn.Open();
            command = new SqlCommand(sql, conn);
            command.Parameters.Add(new SqlParameter("@IMG", img));
            int x = command.ExecuteNonQuery();
            MessageBox.Show(x.ToString() + " records saved.");
            conn.Close();

            pictEmp.Image = null;
        }
        catch (Exception ex)
        {
            conn.Close();
            MessageBox.Show(ex.Message);
        }

看起来像这样

在此处输入图像描述

4

1 回答 1

0

根据错误,FileStream 不是来自 System.IO 命名空间,而是来自 dataGrid 命名空间。

完全限定 FileStream 应该可以解决您的问题:

System.IO.FileStream fs = new System.IO.FileStream(picLoc, FileMode.Open, FileAccess.Read);
于 2013-07-04T18:49:00.377 回答