📄 webform.aspx.cs
字号:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using NHibernate;
using NHibernate.Cfg;
using NHibernate.Connection;
using NHibernate.Expression;
using NHibernate.Cache;
using NHibernate.Collection;
using NHibernate.SqlCommand;
using NHibernate.Engine;//ISessionFactoryImplementor
namespace WebNhibernate
{
/// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Label Label1;
protected System.Web.UI.WebControls.Label Label2;
protected System.Web.UI.WebControls.Label Label3;
protected System.Web.UI.WebControls.Label Label4;
protected System.Web.UI.WebControls.TextBox TxtId;
protected System.Web.UI.WebControls.TextBox TxtName;
protected System.Web.UI.WebControls.TextBox TxtPassword;
protected System.Web.UI.WebControls.TextBox TxtEmail;
protected System.Web.UI.WebControls.Button ButSave;
protected System.Web.UI.WebControls.Button ButDel;
protected System.Web.UI.WebControls.Label Labmessage;
protected System.Web.UI.WebControls.DataGrid DataGrid1;
protected System.Web.UI.WebControls.Button Button1;
protected System.Web.UI.WebControls.ListBox lbMsg;
protected System.Web.UI.WebControls.Button ButUpdate;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
//this.a();
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.ButSave.Click += new System.EventHandler(this.ButSave_Click);
this.ButDel.Click += new System.EventHandler(this.ButDel_Click);
this.ButUpdate.Click += new System.EventHandler(this.ButUpdate_Click);
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
SqlConnection conn=null;
public IList ExecuteSQL( string query )
{
IList result = new ArrayList();
ISessionFactoryImplementor s =(ISessionFactoryImplementor)cfg.BuildSessionFactory();
IDbCommand cmd = s.ConnectionProvider.Driver.CreateCommand();
cmd.CommandText = query;
IDbConnection conn = s.OpenConnection();
try
{
cmd.Connection = conn;
IDataReader rs = cmd.ExecuteReader();
while ( rs.Read() )
{
int fieldCount = rs.FieldCount;
object[] values = new Object[ fieldCount ];
for ( int i = 0; i < fieldCount; i ++ )
values[i] = rs.GetValue(i);
result.Add( values );
}
}
finally
{
s.CloseConnection(conn);
}
return result;
}
private void ButSave_Click(object sender, System.EventArgs e)
{
Configuration mCfg=new Configuration();//创建配置类
mCfg.AddXmlFile (System.Web.HttpContext.Current.Server.MapPath("Userhbm.xml"));//指明映射文件Userhbm.xml
//ISessionFactoryImplementor s =(ISessionFactoryImplementor)cfg.BuildSessionFactory();
EntityClass vEntity=new EntityClass();
vEntity.Id=TxtId.Text;
vEntity.UserName=TxtName.Text;
vEntity.Password=TxtPassword.Text;
vEntity.EmailAddress=TxtEmail.Text;
//IDbConnection conn=
/*conn=new SqlConnection();
conn.ConnectionString=(string)ConfigurationSettingsAppSettings["ConnectionString"];
conn.Open();*/
//conn=new SqlConnection(NHibernate.Connection.);
ISessionFactory factory=mCfg.BuildSessionFactory();
ISession vSession=factory.OpenSession();//创建会话工厂, 一般来说应该使用一个单例对象来封装会话工厂.
ITransaction vTransaction = vSession.BeginTransaction();//创建事物处理
try
{
vSession.Save(vEntity);//向数据库添加数据
vTransaction.Commit();
Labmessage.Text="OK";
}
catch(Exception ex)
{
vTransaction.Rollback();
Labmessage.Text="Error"+ex.ToString();
}
finally
{
vSession.Close();
}
}
private void ButDel_Click(object sender, System.EventArgs e)
{
//System.Data.SqlClient.SqlConnection sqlcon=new SqlConnection("server=.;uid=sa;pwd=sa;database=NHibernate;");
Configuration mCfg=new Configuration();
mCfg.AddXmlFile (System.Web.HttpContext.Current.Server.MapPath("Userhbm.xml"));
ISession vSession= mCfg.BuildSessionFactory().OpenSession();
ITransaction vTransaction = vSession.BeginTransaction();
try
{
EntityClass vEntity=(EntityClass) vSession.Load(typeof(EntityClass),TxtId.Text);//查找数据表中所要记录
vSession.Delete(vEntity);//向数据库删除数据
vTransaction.Commit();
Labmessage.Text="OK";
}
catch(Exception ex)
{
vTransaction.Rollback();
Labmessage.Text="Error";
}
finally
{
vSession.Close();
}
}
private void ButUpdate_Click(object sender, System.EventArgs e)
{
Configuration mCfg=new Configuration();
mCfg.AddXmlFile (System.Web.HttpContext.Current.Server.MapPath("Userhbm.xml"));
ISession vSession= mCfg.BuildSessionFactory().OpenSession();
ITransaction vTransaction = vSession.BeginTransaction();
try
{
EntityClass vEntity=(EntityClass) vSession.Load(typeof(EntityClass),TxtId.Text);
vEntity.UserName=TxtName.Text;
vEntity.Password=TxtPassword.Text;
vEntity.EmailAddress=TxtEmail.Text;
vSession.Update(vEntity); //向数据库修改数据
vTransaction.Commit();
Labmessage.Text="OK";
}
catch(Exception ex)
{
vTransaction.Rollback();
Labmessage.Text="Error";
}
finally
{
vSession.Close();
}
}
/*public void a()
{
Configuration mCfg=new Configuration();
mCfg.AddXmlFile (System.Web.HttpContext.Current.Server.MapPath("messages.xml"));
ISession vSession= mCfg.BuildSessionFactory().OpenSession();
ITransaction vTransaction = vSession.BeginTransaction();
IList list=vSession.CreateQuery("from message").List();
this.DataGrid1.DataSource=list;
}*/
private void Button1_Click(object sender, System.EventArgs e)
{
// try
// {
//Configuration mCfg=new Configuration();
//mCfg.AddXmlFile (System.Web.HttpContext.Current.Server.MapPath("Userhbm.xml"));
//ISession vSession= mCfg.BuildSessionFactory().OpenSession();
//
// ICriteria criteria=vSession.CreateCriteria(typeof(EntityClass));
// criteria.Add(Expression.Eq("LogonID","1"));//Expression支持多种查询
// this.Labmessage.Text="ok";
// vSession.Close(); // SQL
/*IQuery query=vSession.CreateQuery(this.TxtId.Text.Trim());
this.DataGrid1.DataSource=null;
this.DataGrid1.DataSource=query.List(); // HQL*/
// }
// catch (Exception ex)
//
// {
//
// this.Labmessage.Text=ex.Message;
//
// }
Configuration mCfg=new Configuration();
mCfg.AddXmlFile (System.Web.HttpContext.Current.Server.MapPath("messages.xml"));
ISession vSession= mCfg.BuildSessionFactory().OpenSession();
ITransaction vTransaction = vSession.BeginTransaction();
IList messages = vSession.CreateCriteria(typeof(Messages)).List();
// IList messages = vSession.CreateCriteria(typeof()).List();
// this.lbMsg.Items.Clear();
//
//foreach(Messages msg in messages)
//this.lbMsg.Items.Add(msg);
for(int i=0;i< messages.Count;i++)
{
Messages msg=new Messages();
msg=(Messages)messages[i];
string aa=msg.Id;
this.lbMsg.Items.Add(aa);
}
//this.Label1.Text="msg";
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -