Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法更新字段类型附件MS Access_C#_Winforms - Fatal编程技术网

C# 无法更新字段类型附件MS Access

C# 无法更新字段类型附件MS Access,c#,winforms,C#,Winforms,它可以从ms access中选择数据并显示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

它可以从ms access中选择数据并显示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";
var StrCmd = "UPDATE ข้อมูลรถ SET รูปรถ.Value = @p2 WHERE ลำดับ.Value = @p1";
无法执行,错误>> 没有为一个或多个必需参数提供值


首先需要确定列的主键值。然后将查询更改为以下内容:

var StrCmd = "UPDATE ข้อมูลรถ SET รูปรถ.Value = @p2 WHERE ลำดับ.Value = @p1";
进一步阅读此处

尝试以下内容: