view plaincopy to clipboardprint?
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
public partial class SerializingObjects : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//存至资料库(Binary Serialization)
protected void SaveToDB()
{
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
{
using (MemoryStream ms = new MemoryStream())
{
conn.Open();
Member mem = new Member();
mem.Id = this.txbId.Text;
mem.Name = this.txbName.Text;
mem.Tel = this.txbTel.Text;
mem.Address = this.txbAddress.Text;
BinaryFormatter b = new BinaryFormatter();
b.Serialize(ms, mem);
ms.Seek(0, 0);
string sql = "insert into member values(@data)";
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.Add("@data", SqlDbType.Binary).Value = ms.ToArray();
cmd.ExecuteNonQuery();
}
}
}
//由资料库读取(Binary Serialization)
protected void LoadFromDB()
{
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
{
using (MemoryStream ms = new MemoryStream())
{
conn.Open();
string sql = "select data from member";
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
adapter.Fill(dt);
if (dt.Rows.Count > 0)
{
byte[] buffer = (byte[])dt.Rows[dt.Rows.Count-1][0];
ms.Write(buffer, 0, buffer.Length);
ms.Seek(0, 0);
BinaryFormatter b = new BinaryFormatter();
Member mem = new Member();
mem = (Member)b.Deserialize(ms);
//存至档桉(Binary Serialization)
protected void SaveToFile()
{
string path = Server.MapPath("member.dat");
using (Stream s = File.Open(path, FileMode.Create))
{
Member mem = new Member();
mem.Id = this.txbId.Text;
mem.Name = this.txbName.Text;
mem.Tel = this.txbTel.Text;
mem.Address = this.txbAddress.Text;
BinaryFormatter b = new BinaryFormatter();
b.Serialize(s, mem);
}
}
//由档桉读取(Binary Serialization)
protected void LoadFromFile()
{
string path = Server.MapPath("member.dat");
if (File.Exists(path))
{
using (Stream s = File.Open(path, FileMode.Open))
{
BinaryFormatter b = new BinaryFormatter();
Member mem = new Member();
mem = (Member)b.Deserialize(s);
public string Id
{
get { return _id; }
set { _id = value; }
}
public string Name
{
get { return _name; }
set { _name = value; }
}
public string Tel
{
get { return _tel; }
set { _tel = value; }
}
public string Address
{
get { return _address; }
set { _address = value; }
}
}
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
public partial class SerializingObjects : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//存至资料库(Binary Serialization)
protected void SaveToDB()
{
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
{
using (MemoryStream ms = new MemoryStream())
{
conn.Open();
Member mem = new Member();
mem.Id = this.txbId.Text;
mem.Name = this.txbName.Text;
mem.Tel = this.txbTel.Text;
mem.Address = this.txbAddress.Text;
BinaryFormatter b = new BinaryFormatter();
b.Serialize(ms, mem);
ms.Seek(0, 0);
string sql = "insert into member values(@data)";
SqlCommand cmd = new SqlCommand(sql, conn);
cmd.Parameters.Add("@data", SqlDbType.Binary).Value = ms.ToArray();
cmd.ExecuteNonQuery();
}
}
}
//由资料库读取(Binary Serialization)
protected void LoadFromDB()
{
using (SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
{
using (MemoryStream ms = new MemoryStream())
{
conn.Open();
string sql = "select data from member";
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
adapter.Fill(dt);
if (dt.Rows.Count > 0)
{
byte[] buffer = (byte[])dt.Rows[dt.Rows.Count-1][0];
ms.Write(buffer, 0, buffer.Length);
ms.Seek(0, 0);
BinaryFormatter b = new BinaryFormatter();
Member mem = new Member();
mem = (Member)b.Deserialize(ms);
//存至档桉(Binary Serialization)
protected void SaveToFile()
{
string path = Server.MapPath("member.dat");
using (Stream s = File.Open(path, FileMode.Create))
{
Member mem = new Member();
mem.Id = this.txbId.Text;
mem.Name = this.txbName.Text;
mem.Tel = this.txbTel.Text;
mem.Address = this.txbAddress.Text;
BinaryFormatter b = new BinaryFormatter();
b.Serialize(s, mem);
}
}
//由档桉读取(Binary Serialization)
protected void LoadFromFile()
{
string path = Server.MapPath("member.dat");
if (File.Exists(path))
{
using (Stream s = File.Open(path, FileMode.Open))
{
BinaryFormatter b = new BinaryFormatter();
Member mem = new Member();
mem = (Member)b.Deserialize(s);