我可以将对象添加到我的 Access 数据库吗?
Posted
技术标签:
【中文标题】我可以将对象添加到我的 Access 数据库吗?【英文标题】:Can I add objects to my Access database? 【发布时间】:2014-07-01 06:49:38 【问题描述】:我有一个存储多个值的类。目前我制作了一个对象列表然后使用它们,但现在我必须迁移到 Access 数据库。有人可以告诉我是否可以将这些对象放入数据库中吗?
【问题讨论】:
【参考方案1】:您可以将对象序列化为 XML,然后将它们写入 Memo
字段(在 Access 2013 中称为 Long Text
字段)。以下代码适用于我:
public class MyClass
public string Name get; set;
public List<string> FavoriteThings get; set;
class Program
static void Main(string[] args)
var myObject = new MyClass();
myObject.Name = "Gord";
var myFavs = new List<string>();
myFavs.Add("bicycles");
myFavs.Add("ham");
myObject.FavoriteThings = myFavs;
var xs = new System.Xml.Serialization.XmlSerializer(myObject.GetType());
var sw = new System.IO.StringWriter();
xs.Serialize(sw, myObject);
using (var con = new OleDbConnection())
con.ConnectionString =
@"Provider=Microsoft.ACE.OLEDB.12.0;" +
@"Data Source=C:\Users\Public\Database1.accdb;";
con.Open();
using (var cmd = new OleDbCommand())
cmd.Connection = con;
cmd.CommandText = "INSERT INTO tblObjects (ObjectID, ObjectXML) VALUES (?,?)";
cmd.Parameters.AddWithValue("?", 1);
cmd.Parameters.AddWithValue("?", sw.ToString());
cmd.ExecuteNonQuery();
con.Close();
当我打开 Access 表时,选择备注字段,然后按 ShiftF2 以“放大”它,我看到了
【讨论】:
以上是关于我可以将对象添加到我的 Access 数据库吗?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 Excel Web Access Web 部件添加到我的共享点库中?
我可以将 UIActivityViewController 添加到我的 ViewController 吗?
我可以将原生 GoogleMap 添加到我的 Cordova 混合应用程序吗?