将对象写入mysql属于序列化么_我可以将对象添加到Access数据库中吗?

Solutions1

You might be able to serialize your objects to XML and then write them to a Memo field (called Long Text field in Access 2013). The following code works for me:

public class MyClass

{

public string Name { get; set; }

public List FavoriteThings { get; set; }

}

class Program

{

static void Main(string[] args)

{

var myObject = new MyClass();

myObject.Name = "Gord";

var myFavs = new List();

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();

}

}

}

When I open the Access table, select the Memo field, and hit ShiftF2 to "zoom in" on it I see

aa8d42a7cfcdbc149f9b687461fec354.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值