如何使用c#和OleDB向Access数据库表中添加富文本列



在Access数据库中,可以将Long Text列的Text Format属性设置为Plain TextRich Text

如何在c#中使用OleDb API以编程方式添加富文本列到表中?

如何在c#中使用OleDb API以编程方式添加富文本列到表中?

我们不能使用OleDb。我们需要使用Access DAO:

// required COM reference: Microsoft Office 14.0 Access Database Engine Object Library
//
// using Microsoft.Office.Interop.Access.Dao; ...
var dbe = new DBEngine();
Database db = dbe.OpenDatabase(@"C:UsersPublicDatabase1.accdb");
TableDef tbd = db.TableDefs["MyTable"];  // existing table
var fld = new Field();
fld.Name = "MyRichMemo";
fld.Type = (short) DataTypeEnum.dbMemo;
tbd.Fields.Append(fld);
// now set "Text Format" property to "Rich Text"
fld.Properties.Append(fld.CreateProperty("TextFormat", DataTypeEnum.dbByte, 1));
db.Close();

如何在Access表中添加富文本列

Access 2010及以上版本允许在备忘录中保存富文本。下面是c# OleDB代码,我用它来添加一个备忘列到一个Access表。

public OleDbConnection myAccessConnection = new OleDbConnection();
myAccessConnection.ConnectionString = 
@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|myAccessDb.accdb";
OleDbCommand sqlCommand = new OleDbCommand();
myAccessConnection.Open();
sqlCommand.Connection = myAccessConnection;
sqlCommand.CommandText = "ALTER TABLE [MyTableInMyAccessDb] ADD MyMemo MEMO";
sqlCommand.ExecuteNonQuery();
myAccessConnection.Close();

最新更新