C# 中 更新 Access Memo 字段时候,当字符超过2000个时候,无法更新
各位,有没有人遇到此类问题。 在C# 中更新Access Memo 备注类型时候, 遇到<2000 字符可更新,〉2000字符, 提示 2087 (长度)|无法保存;正被别的用户锁定。采用了两种方法 ,都不行。
第一种 OLEDB
//OleDbParameter param = new OleDbParameter("@detail", OleDbType.LongVarWChar, 8000,"Detail");
// OleDbConnection conn = new OleDbConnection(connString);;
// try
// {
// conn.Open();
// OleDbCommand cmd = new OleDbCommand(command, conn);
// cmd.Parameters.Add(param);
// cmd.Parameters["@detail"].Value = newContent;
// cmd.ExecuteNonQuery();
// conn.Close();
// }
第二种 ADODB
string connString = @"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=H:\db\021bgl_db_2011212.mdb";
string command = "update [fangyuan] set [detail]= '{1}' where [id]= {0} ";
command = string.Format(command,id,newContent);
ADODB.Connection conn = new ADODB.Connection();
try
{
conn.ConnectionString = connString;
conn.Open(connString, "", "", 0);
object recordsAffected;
conn.Execute(command, out recordsAffected,0);
conn.Close();
} C# Access --------------------编程问答-------------------- 改用流数据保存吧,image字段保存数据流 --------------------编程问答-------------------- 后来用 中间一张表, 先插入中间的表,然后用SQl 语句自己去UPdate ,避免了 直接在C# 程序里面做UPdate操作。
谢谢版主。 --------------------编程问答--------------------
+1
补充:.NET技术 , C#