简单—三层-存储过程-增删改<五>
第五,这次来探讨下关于三层,其实呢,我也在实践过程中!
首先在解决方案下,添加一个类库。

然后添加一个user类文件。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace lwb.model
{
public class user
{
public user()
{ }
#region model
private int _id;
private string _txtuser;
private string _txtpassword;
///<summary>
///
///<summary>
public int id
{
set { _id = value; }
get { return _id; }
}
///<summary>
///
///<summary>
public string txtuser
{
set { _txtuser = value; }
get { return _txtuser; }
}
///<summary>
///
///<summary>
public string txtpassword
{
set { _txtpassword = value; }
get { return _txtpassword; }
}
#endregion model
}
}
然后生成,然后在总的里面添加dll。重新生成。
后台代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
using System.Xml;
using lwb.model;
public partial class index : System.Web.UI.Page
{
public static string aa;
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
dvDataBind();
}
}
private void dvDataBind()
{
//SqlConnection conn = new SqlConnection("server=.;database=cs;uid=sa;pwd=");
//SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
//SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["ConnectionString"].ToString());
XmlDocument xDoc = new XmlDocument();
xDoc.Load(Server.MapPath("XMLFile.xml"));
//SqlConnection conn = new SqlConnection(xDoc.SelectSingleNode("PrintSetting/SQL_CONN").InnerText);
XmlNodeList nodes1 = xDoc.GetElementsByTagName("PrintSettings");
foreach (XmlNode node1 in nodes1) //第一层
{
//TextBox1.Text = node1.ToString();
if (node1.Attributes["name"].Value == "zong")
{
XmlNodeList nodes2 = node1.ChildNodes;
foreach (XmlNode node2 in nodes2)//第二层nodes1
{
if (node2.Attributes["name"].Value == "1")
{
aa = node2["SQL_CONN"].InnerText;
//TextBox1.Text = aa;
}
}
}
}
SqlConnection conn = new SqlConnection(aa);
conn.Open();
string sql_string = "select * from login_user";
SqlDataAdapter da = new SqlDataAdapter(sql_string, conn);
DataSet ds = new DataSet();
da.Fill(ds, "login_user");
GridView1.DataSource = ds;
GridView1.DataBind();
}
//编辑
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
dvDataBind();
}
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
TextBox txt_temp_description = (TextBox)GridView1.Rows[e.RowIndex].FindControl("textbox1");
SqlConnection conn = new SqlConnection("server=.;database=cs;uid=sa;pwd=");
conn.Open();
//SqlCommand cmd = new SqlCommand("update login_user set txtpassword='" + txt_temp_description.Text + "' where id='" + GridView1.DataKeys[e.RowIndex].Value.ToString() + "'", conn);
SqlCommand cmd = new SqlCommand("updatelogin_user",conn);
//调用存储过程名
cmd.CommandType = CommandType.StoredProcedure;
//设置存储过程的参数值,其中@id 为存储过程的参数.
SqlParameter txtuser = cmd.Parameters.Add("@txtuser", SqlDbType.NVarChar);
txtuser.Value = ((Label)GridView1.Rows[e.RowIndex].FindControl("Label2")).Text;
SqlParameter txtpassword = cmd.Parameters.Add("@txtpassword", SqlDbType.NVarChar);
txtpassword.Value = ((TextBox)GridView1.Rows[e.RowIndex].FindControl("textbox1")).Text;
cmd.ExecuteNonQuery();
conn.Close();
GridView1.EditIndex = -1;
dvDataBind();
}
protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
GridView1.EditIndex = -1;
dvDataBind();
}
protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
lwb.model.user user = new lwb.model.user();
user.id = Convert.ToInt16(GridView1.DataKeys[e.RowIndex]["id"]);
//string sqlstr = "delete from login_user where id='" + GridView1.DataKeys[e.RowIndex].Value.ToString() + "'";
//SqlConnection conn = new SqlConnection("server=.;database=cs;uid=sa;pwd=");
//conn.Open();
//SqlCommand cmd = new SqlCommand(sqlstr, conn);
//cmd.ExecuteNonQuery();
delete_user(user);
dvDataBind();
}
public static void delete_user(lwb.model.user user)
{
string sqlstr = "delete from login_user where id='" + user.id + "'";
SqlConnection conn = new SqlConnection("server=.;database=cs;uid=sa;pwd=");
conn.Open();
SqlCommand cmd = new SqlCommand(sqlstr, conn);
cmd.ExecuteNonQuery();
}
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
}
}
在删除里面做了一些改变,我应该能看出来,不知道其他人,怎么编辑啊?郁闷!注意:在前台添加datekeysname=“id”;把函数写在别的类库里面,就是分层了嘛!
浙公网安备 33010602011771号