C# 无法更新字段类型附件MS Access
它可以从ms access中选择数据并显示gridview,但不能更新字段类型附件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
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";
进一步阅读此处尝试以下内容: