它可以从ms访问中选择数据并显示gridview,但它无法更新字段类型附件。
string ConnStr = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\500.accdb;Jet OLEDB:Database Password=";
using (OleDbConnection MyConn = new OleDbConnection(ConnStr))
{
MyConn.Open();
var StrCmd = "UPDATE ข้อมูลรถ SET รูปรถ = @p2 WHERE ลำดับ = @p1";
OleDbCommand oldcommand = new OleDbCommand(StrCmd, MyConn);
byte[] pic = File.ReadAllBytes(@"D:\test.png");
oldcommand.CommandType = CommandType.Text;
oldcommand.CommandText = StrCmd;
oldcommand.Parameters.AddWithValue("@p2", pic);
oldcommand.Parameters.AddWithValue("@p1", "1");
try
{
oldcommand.ExecuteNonQuery();
}
catch (Exception ex)
{
}
}
二手代码
var StrCmd = "UPDATE ข้อมูลรถ SET สี = @p2 WHERE ลำดับ = @p1";
它可以更新另一个字段。但只有รูปถ字段无法更新。
使用代码
var StrCmd = "UPDATE ข้อมูลรถ SET รูปรถ.Value = @p2 WHERE ลำดับ.Value = @p1";
无法执行,错误>> "没有给出一个或多个必需参数的值。"
答案 0 :(得分:0)
首先需要确定列的主键value
。然后将您的查询更改为以下内容:
var StrCmd = "UPDATE ข้อมูลรถ SET รูปรถ.Value = @p2 WHERE ลำดับ.Value = @p1";
答案 1 :(得分:0)
试试这个:
var StrCmd = "UPDATE ข้อมูลรถ SET รูปรถ.Value = @p2 WHERE ลำดับ.Value = @p1";