ADO1
2024-08-29 14:22:13
1. 新建Web窗体
客户端控件:html控件
服务器控件:用的比较少
2. 数据库连接
protected void btnLogin_Click(object sender, EventArgs e)
{
try //这里做检测,是因为如果没有检测,连接错误后会把数据库里的内容显示在出错网页中
{
string username = txtUserName.Text.Trim(); //删除空白字符
string pwd = txtPwd.Text.Trim();
if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(pwd))
{
//Response.Write("用户名或者密码不能为空");
Response.Write("<script>alert('用户名或者密码不能为空');</script>");
}
else
{
//写Sql语句
string sSql = string.Format("select UserID from TestDB.dbo.UserInfor Where UserName='{0}' and Pwd='{1}'", username, pwd); //数据库连接语句
//DataBase:要连接的数据库名称; Server:服务器名称,'.'代表本机服务器,如果服务器在其他地方,这里输入IP地址
//Integrated Security: ture代表windows身份验证,登录名和密码就不需要了;false代表SQL Server身份验证
//Uid用户名;Password密码
//string connStr = "Database=TestDB;Server=.;Integrated Security=false;Uid=sa;Password=123;"; //读取配置文件中的数据库连接语句
string connStr = ConfigurationManager.ConnectionStrings["TestDB"].ToString(); //普通写法,需要自己释放资源
{
//和数据库建立连接,并打开连接
SqlConnection con = new SqlConnection(connStr);
con.Open(); //执行语句,要传两个参数,一个是SQL语句,一个是数据库连接类
SqlCommand cmd = new SqlCommand(sSql, con); //把查询结果赋值给SqlDataReader对象
SqlDataReader read = cmd.ExecuteReader(); //查看是否有记录
if (read.HasRows)
{
Response.Redirect("UserInforM.aspx");
}
else
{
Response.Write("用户名或者密码错误");
} //释放资源,并关闭
read.Dispose();
read.Close();
con.Dispose();
con.Close();
} //用Using可以自动释放资源
{
using (SqlConnection con = new SqlConnection(connStr)) //自动释放con
{
con.Open();
SqlCommand cmd = new SqlCommand(sSql, con);
using (SqlDataReader read = cmd.ExecuteReader()) //自动释放read
{
if (read.HasRows)
{
Response.Write("登录成功");
}
else
{
Response.Write("用户名或者密码错误");
}
}
}
}
}
}
catch (Exception ex)
{
Response.Write("网站正在维修中");
}
}
配置文件:
<connectionStrings>
<add name="TestDB" connectionString="Database=TestDB;Server=.;Integrated Security=false;Uid=sa;Password=123;" providerName="System.Data.SqlClient"/>
</connectionStrings>
3. 绑定服务端控件显示数据库内容
public partial class UserInforM : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
try
{
string sSql = string.Format("select UserID,UserName,RealName,ClassName,Major from TestDB.dbo.UserInfor");
string connStr = ConfigurationManager.ConnectionStrings["TestDB"].ToString(); using (SqlConnection con = new SqlConnection(connStr)) //自动释放con
{
con.Open();
SqlCommand cmd = new SqlCommand(sSql, con);
using (SqlDataReader read = cmd.ExecuteReader()) //自动释放read
{
GridView1.DataSource = read;
GridView1.DataBind();
}
}
}
catch (Exception ex)
{ Response.Write("错误");
}
}
}
最新文章
- 一个小型的CMS后台管理平台发布啦~
- 360wifi使用方法|360wifi使用教程
- LaTex 使用 - 配置
- [C#] CSharp 基本语法
- 夺命雷公狗---Thinkphp----16之首页的完成及全站的完成
- sshd_config配置 详解
- jQuery ajax 实现分页 kkpager插件
- 在html中嵌入markdown
- 使用fastcgi_cache加速网站
- C# 中获取时区列表
- Python内置函数(62)——exec
- 启动ssh服务 XSshell 生成秘钥 并注册公钥在Ubuntu linux
- 一个简单jpa例子
- 自动化测试工具Ranorex的录制功能使用
- 【代码笔记】Web-ionic-列表
- 第16月第25天 tableView设置UITableViewStyleGrouped顶部有空余高度
- 利用模板导出文件(二)之jacob利用word模板导出word文件(Java2word)
- hdu1535 Invitation Cards 最短路
- 24-[模块]-re
- HTTP首部字段
热门文章
- 基于微信的SDK的学习与使用——实现产品支付
- Java全栈工程师知识体系介绍
- @Conditional注解的作用
- 1.1-1.4 hadoop调度框架和oozie概述
- 【Linux学习】Linux系统管理1—进程管理
- HTML基本标签元素
- 使用you-get下载网页小视频(实际上你可以下载任意你想要的web网页中的内容)
- 451. Sort Characters By Frequency (sort map)
- 调用Web API将文件上传到服务器的方法(.Net Core)
- POJ-3275:Ranking the Cows(Floyd、bitset)