数据源控件的使用

来源:互联网 发布:血滴子 淘宝 编辑:程序博客网 时间:2024/04/29 16:29

1.写student类中的select,delete,update,insert方法并在objectDataSource中应用(分别写两个,一个返回datatable,一个使用list)

public class Student
{//字段对应的属性
public int SID{get;set;}
public string SNAME{get;set;}
public string SET{get;set;}
public int AGE{get;set;}
public string PHOTO{get;set;}

//查询Select
public DataTable StudentSelect()
{
string sql = "select sid,sname,set,age,photo from student";
return sqlHealper.SqlHealper.ExecuteDaaTable(sql);
}
//删除Delete
public int StudentDelete(int sid)
{
string sql = "delect from Student where SId=@sId";
SqlHealper pms = new SqlHealper("@sId", sid);
return sqlHealper.SqlHealper.ExecuteNonQuery(sql,pms);
}
//更新UpDate
public int StudetUpDate(int sid, string sneme, string set, int age, string photo)
{
string sql="updata student set sname=@sname,set=@set,age=@age,photo=@photo where sid=@sid";
SqlParameter[] pms = new SqlParameter[]
{
new SqlParameter("@sname",sneme),
new SqlParameter("@set",set),
new SqlParameter("@age",age),
new SqlParameter("@photo",photo),
new SqlParameter("@sid",sid)
};

}
//在list控件中查询
public List<Student> GetStudent()
{
string sql = "select * from student";
DataTable dt = sqlHealper.SqlHealper.ExecuteDataTabel(sql);
List<Student> list = new List<Student>();
foreach(DataRow row in dt.Rows)
{
Student stu = new Student();
stu.SID = (int)row[0];
stu.SNAME = row[1].ToString();
stu.SET = row[2].ToString();
stu.AGE = Convert.ToInt32(row[3]);
stu.PHOTO = row[4].ToString();
}
}
//定义list控件的类
public void StudentUpdate(Student s)
{

string sql = "updata student set sname=@sname,set=@set,age=@age,photo=@photo where sid=@sid";
SqlParameter[] pms = new SqlParameter[]
{
new SqlParameter("@sname",s.SNAME),
new SqlParameter("@set",s.SET),
new SqlParameter("@age",s.AGE),
new SqlParameter("@photo",s.PHOTO),
new SqlParameter("@sid",s.SID)
};
sqlHealper.SqlHealper.ExecuteNonQuery(sql, pms);
}


}

2.做一个登陆的界面,当用户输入正确的用户名和密码后,显示登陆成功,并且显示改用户的详细信息。(sqldatasource)

这是登陆的界面:
<html>
< head>
< meta http-equiv="Content-Language" content="en-us">
< meta name="GENERATOR" content="Microsoft FrontPage 5.0">
< meta name="ProgId" content="FrontPage.Editor.Document">
< meta http-equiv="Content-Type" content="text/html; charset=gb2312">
< title>登陆界面</title>
< /head>
< body >
< form method="POST" action="dlxt.asp">
< p align="center"> </p>
< table border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" id="AutoNumber2" align=center width="288" height="50">
<tr>
<td width="135" height="25">
<p align="right"><b><span lang="zh-cn"><font size="4">请输入用户名:</font></span></b></td>
<td width="151" height="25"><input type="text" name="userid" size="20"></td>
</tr>
<tr>
<td width="135" height="24">
<p align="right"><b><span lang="zh-cn"><font size="4">请输入密码:</font></span></b></td>
<td width="151" height="24"><input type="password" name="userpwd" size="20"></td>
</tr>
< /table>
<p align="center"><input type="submit" value="提交" name="B1"><input type="reset" value="重置" name="B2"></p>
< /form>

< /body>

< /html>

后台部分

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;

namespace ASP绑定控件
{
public partial class denglu : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
this.GridView1.Visible = false;
}

protected void Button1_Click(object sender, EventArgs e)
{
string name = txtusername.Text.Trim();
string pwd = txtpassword.Text.Trim();
string sql = "select count(*) from T_Users where FuserName=@name and Fpassword=@pwd";
SqlParameter[] pmss = new SqlParameter[]
{
new SqlParameter("@name",name),
new SqlParameter("@pwd",pwd)
};
int r=Convert.ToInt32( sqlHealpler.sqlHealper.ExecuteScalar(sql, pmss));
if (r > 0)
{
Response.Write("登录成功!");
this.GridView1.Visible = true;

}
else
{
Response.Write("登录失败!");
}
}
}
}

3.

• 数据库并发操作有哪几种?在配置 SqlDataSource 控件时,设置的 “ 使用开放式并发 ” 起什么作用?

数据库并发操作有:(1)丢失或覆盖更新(lost update) (2)脏读 (3)不可重复读(nonrepeatable read) (4)幻像读

 

原创粉丝点击