分类:
2009-11-22 20:53:10
数据库的连接操作
using MySql.Data.MySqlClient;
private MySqlCommand mycomm;
private MySqlDataReader dr;
private string strconn = ConfigurationManager.AppSettings["Mysqlstudb"];
private MySqlConnection myco;
<appSettings>
<add key="Mysqlstudb" value="User Id=root;Host=localhost;Database=studb;Password=root;Port=3307"/>
appSettings>
数据库打开操作
方法1:
string Username = TextBox1.Text;
string Pwd = TextBox2.Text;
myco = new MySqlConnection(strconn);
myco.Open();
string sql = "select * from uinfo where UNAME='" + Username + "' and PASWD='" + Pwd + "'";
mycomm = new MySqlCommand(sql, myco);
dr = mycomm.ExecuteReader();
while (dr.Read())
{
Session["Username"] = dr["uname"].ToString();
Label3.Text = Session["Username"].ToString();
}
mycomm.Dispose();
myco.Close();
方法2:
string Username = TextBox1.Text;
string Pwd = TextBox2.Text;
myco = new MySqlConnection(strconn);
myco.Open();
string sql = "select * from uinfo where UNAME='" + Username + "' and PASWD='" + Pwd + "'";
MySqlDataAdapter myAdapter = new MySqlDataAdapter(sql, myco);
DataSet myDataSet = new DataSet();
DataView m_DataView = new DataView();
myAdapter.Fill(myDataSet);
m_DataView = myDataSet.Tables[0].DefaultView;
GridView1.DataSource = m_DataView;
GridView1.DataBind();
myAdapter.Dispose();
myco.Close();
注意:可以这样做:
myAdapter.Fill(myDataSet,"a");
m_DataView = myDataSet.Tables["a"].DefaultView;
其中"a"是表名。
函数的调用
protected void Page_Load(object sender, EventArgs e)
{
get_week_data();
}
private void get_week_data()
{
函数体
}
存储过程的调用
string title = TextBox1.Text;
string sort =DropDownList1.SelectedValue;
string content=Editor1.Text ;
string time = CodefanCalendar1.Text;
mycomm = new MySqlCommand("ProcTrad", myco);
mycomm.CommandType = CommandType.StoredProcedure;
MySqlParameter[] para = new MySqlParameter[]{
new MySqlParameter("@title_",MySqlDbType.VarChar ,50),
new MySqlParameter("@sort_",MySqlDbType.VarChar ,20),
new MySqlParameter("@time_",MySqlDbType.DateTime),
new MySqlParameter("@content_",MySqlDbType.MediumText)
};
para[0].Value =title;
para[1].Value =sort;
para[2].Value =time;
para[3].Value =content;
mycomm.Parameters.AddRange(para);
mycomm.ExecuteNonQuery();
如果是只有一个参数,那么这样做:
MySqlParameter para = new MySqlParameter("@title_", MySqlDbType.VarChar, 50);
mycomm.Parameters.Add(para);
调用母版
MasterPageFile="~/Admin/AdminPage.master"
调用CSS样式
<link rel="stylesheet" href="../Css/css.css" type="text/css" />
CSS样式文件中带.的:<table class="contentTab" border="0" cellpadding="0" cellspacing="1">
在源文件中用class调用,如:
<tr class="contentC">
<td colspan="2" valign="top">
td>
tr>
CSS样式文件中带#的:#footer.black {color:black;}
在源文件中用id调用,如:
id="footer.black"
调用框架
<fieldset style ="width :98%"><legend >表头名legend>
fieldset>
使用下载组件的方法
右击“工具箱”,“选择项”,“浏览”,把dll文件添加进来,然后把下载组件的文件放在站点根目录下。
存储过程的写法
CREATE DEFINER=`root`@`localhost` PROCEDURE `ProcTrad`( in title_ varchar(50),
in sort_ varchar(20),
in time_ datetime,
in content_ MEDIUMTEXT)
BEGIN
insert into logtable(title,sort,time,content)
values(title_,sort_,time_,content_);
END
其它
DropDownList1.SelectedValue
Editor1.Text
CodefanCalendar1.Text
定义一些数据常用操作
private MySqlCommand mycomm;
private MySqlDataReader dr;
private string strconn = ConfigurationManager.AppSettings["Mysqlstudb"];
private MySqlConnection myco;
用DateList显示数据
编辑模板---拖入Label控件用于显示数据---编辑绑定
把其中的“属性”绑定字段,如 Eval("UNAME")。
myco = new MySqlConnection(strconn);
myco.Open();
string sql = "select * from uinfo";
MySqlDataAdapter myAdapter = new MySqlDataAdapter(sql, myco);
DataSet ds = new DataSet();
myAdapter.Fill(ds);
DataList1.DataSource = ds.Tables[0];
DataList1.DataBind();
Eval页面传参
页面链接
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%#"~/user/dsaf.aspx?IDUSE="+Eval("IDUSE")%>' Target=_blank >查看asp:HyperLink>
接受页
myco = new MySqlConnection(strconn);
myco.Open();
string IDUSE=Request.QueryString["IDUSE"];
string sql = "select * from uinfo where IDUSE='"+IDUSE+"'";
mycomm = new MySqlCommand(sql, myco);
dr = mycomm.ExecuteReader();
while (dr.Read())
{
Label1.Text = dr["UNAME"].ToString();
}
mycomm.Dispose();
myco.Close();
用户登录并显示自己写的文章:
登录页:从uinfo表中验证用户名和密码。
登录页面传递uinfo表中的uname和uinfo表中的IDUSE到cha.aspx页面
string Username = TextBox1.Text;
string Pwd = TextBox2.Text;
myco = new MySqlConnection(strconn);
myco.Open();
string sql = "select * from uinfo where UNAME='" + Username + "' and PASWD='" + Pwd + "'";
mycomm = new MySqlCommand(sql, myco);
dr = mycomm.ExecuteReader();
while (dr.Read())
{
Session["Username"] = dr["uname"].ToString();
Session["IDUSE"] = dr["IDUSE"].ToString();
}
mycomm.Dispose();
myco.Close();
Response.Redirect("cha.aspx");
在cha.aspx页面显示uinfo表中的uname(用户名)
以及在Datalist1中显示此用户logtable表中对应的数据。
即uinfo.IDUSE与logtable.IDUSE关联。
Label4.Text = Session["Username"].ToString();
string IDUSE_=Session["IDUSE"].ToString();
myco = new MySqlConnection(strconn);
myco.Open();
string sql = "select * from logtable where IDUSE= '" + IDUSE_ + "'";
MySqlDataAdapter myAdapter = new MySqlDataAdapter(sql, myco);
DataSet ds = new DataSet();
myAdapter.Fill(ds);
DataList1.DataSource = ds.Tables[0];
DataList1.DataBind();
并在cha.aspx页面设置HyperLink1(查看)的NavigateUrl为"dsaf.aspx?IDRizhi="+Eval("IDRizhi")
传递IDRzhi值
查询页面
在dsaf.aspx为接收页面
用Request.QueryString接收IDRzhi值,并从logtable表中取出对应文章内容。
myco = new MySqlConnection(strconn);
myco.Open();
string IDRizhi_ = Request.QueryString["IDRizhi"];
string sql = "select * from logtable where IDRizhi='" + IDRizhi_ + "'";
mycomm = new MySqlCommand(sql, myco);
dr = mycomm.ExecuteReader();
while (dr.Read())
{
Label1.Text = dr["Title"].ToString();
Label2.Text = dr["Content"].ToString();
}
mycomm.Dispose();
myco.Close();
修改页面
并在cha.aspx页面设置HyperLink2(修改)的NavigateUrl为"RizhiUpdata.aspx?IDRizhi="+Eval("IDRizhi")
传递IDRzhi值
数据库中存储过程
CREATE DEFINER=`root`@`localhost` PROCEDURE `RizhiUpdata`(
in Title_ varchar(50),
in Content_ MEDIUMTEXT,
in IDRizhi_ INT)
BEGIN
update logtable set Title=Title_,Content=Content_ where IDRizhi=IDRizhi_;
END $$
用HiddenField控件用于接收session值
在Page_Load中
if (!IsPostBack)
{
myco = new MySqlConnection(strconn);
myco.Open();
string IDRizhi_ = Request.QueryString["IDRizhi"];
HiddenField1.Value = IDRizhi_;
string sql = "select * from logtable where IDRizhi='" + IDRizhi_ + "'";
mycomm = new MySqlCommand(sql, myco);
dr = mycomm.ExecuteReader();
while (dr.Read())
{
TextBox1.Text = dr["Title"].ToString();
Editor1.Text = dr["Content"].ToString();
}
mycomm.Dispose();
myco.Close();
}
protected void Button1_Click(object sender, EventArgs e)
{
string Title=TextBox1.Text;
string content = Editor1.Text;
int IDRizhi =System.Convert.ToInt32(HiddenField1.Value);
myco = new MySqlConnection(strconn);
myco.Open();
mycomm = new MySqlCommand("RizhiUpdata", myco);
mycomm.CommandType = CommandType.StoredProcedure;
MySqlParameter[] para = new MySqlParameter[]{
new MySqlParameter("@Title_",MySqlDbType.VarChar ,50),
new MySqlParameter("@Content_",MySqlDbType.MediumText),
new MySqlParameter("@IDRizhi_",MySqlDbType.Int32,11)
};
para[0].Value = Title;
para[1].Value = content;
para[2].Value = IDRizhi;
mycomm.Parameters.AddRange(para);
mycomm.ExecuteNonQuery();
mycomm.Dispose();
myco.Close();
}
删除文章
cha.aspx页面中,在DataList1数据控件中添加一LinkButton控件
设置LinkButton控件的CommandName属性为Delete
在源文件中的DataList中添加一些属性:
OnDeleteCommand="DataList1_DeleteCommand" OnItemDataBound="DataList1_ItemDataBound"
在代码文件中打
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Label4.Text = Session["Username"].ToString();
string IDUSE_ = Session["IDUSE"].ToString();
HiddenField1.Value = IDUSE_;
getdata();
}
}
protected void getdata()
{
myco = new MySqlConnection(strconn);
myco.Open();
string IDUSE_ = HiddenField1.Value;
string sql = "select * from logtable where IDUSE= '" + IDUSE_ + "'";
MySqlDataAdapter myAdapter = new MySqlDataAdapter(sql, myco);
DataSet ds = new DataSet();
myAdapter.Fill(ds);
DataList1.DataSource = ds.Tables[0];
DataList1.DataKeyField = "IDRizhi";
DataList1.DataBind();
}
protected void DataList1_ItemDataBound(object source, DataListItemEventArgs e)
{
((LinkButton)e.Item.Controls[0].FindControl("LinkButton1")).Attributes.Add("onclick", "return confirm('您确定要删除吗?')");
}
protected void DataList1_DeleteCommand(object source, DataListCommandEventArgs e)
{
int IDRizhi_ =Int32.Parse( DataList1.DataKeys[e.Item.ItemIndex].ToString());
myco = new MySqlConnection(strconn);
myco.Open();
string sql = "delete from logtable where IDRizhi=" + IDRizhi_ + "";
mycomm = new MySqlCommand(sql, myco);
dr = mycomm.ExecuteReader();
mycomm.Dispose();
Label6.Text = "已删除";
getdata();
}