我正在尝试将列和图像插入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);
}
看起来像这样
答案 0 :(得分:0)
根据错误,FileStream不是来自System.IO名称空间,而是来自dataGrid名称空间。
完全限定FileStream应解决您的问题:
System.IO.FileStream fs = new System.IO.FileStream(picLoc, FileMode.Open, FileAccess.Read);