ASP.NET动态网站制作(22)-- ADO.NET(1)
前言:这节课开始真正地学习WEB开发,ADO.NET就是一组允许.NET开发人员使用标准的、机构化的,甚至无连接的方式与数据交互的技术。所属的类库为:System.Data.dll。
内容:
1.ADO.NET就是实现后台页面(C#)和数据库交互的技术。
2.新建一个web项目,其中有一个Web.config文件,它储存一些公共信息,如数据库连接信息等。在项目中添加一个Web窗体,实际上它就是一个HTML页面,只不过是与后台页面关联在一起的HTML。一个Web窗体包含前台文件(.aspx)和后台文件(.aspx.cs)。
3.有三种控件:服务端控件、客户端控件和自定义控件。服务端控件的特点是其属性里有一个runat="server"。
4.string="";和string=null;是不一样的,区别在于string="";在堆里开辟了空间,而string=null;没有开辟空间。
5.使用string.Format()向字符串中传值。
6.using有两个作用:一是引入命名空间,二是释放资源。凡是继承于IDisposable接口的都要释放资源。
7.一个应用例子:
Web.config文件:
<?xml version="1.0" encoding="utf-8"?>
<!--
有关如何配置 ASP.NET 应用程序的详细信息,请访问
http://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<connectionStrings>
<add name="sq_zoe" connectionString="Database=sq_zoe;Server=.;Integrated Security=false;Uid=sa;Password=123;"providerName="System.Data.SqlClient"/>
</connectionStrings>
<system.web>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
</configuration>
Login.aspx文件:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Login.aspx.cs" Inherits="ADO.NET1.Login" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<table>
<tr><td>用户名:</td><td>
<asp:TextBox ID="txtUserName" runat="server"></asp:TextBox></td></tr>
<tr><td>密码:</td><td>
<asp:TextBox ID="txtPwd" runat="server" TextMode="Password"></asp:TextBox></td></tr>
<tr><td>
<asp:Button ID="btnClear" runat="server" Text="清除" OnClick="btnClear_Click" /></td><td>
<asp:Button ID="btnLogin" runat="server" Text="登录" OnClick="btnLogin_Click" /></td></tr>
</table>
</div>
</form>
</body>
</html>
Login.aspx.cs文件:
using System;
using System.Configuration;
using System.Data.SqlClient;
using System.Web.UI; namespace ADO.NET1
{
public partial class Login : Page
{
protected void Page_Load(object sender, EventArgs e)
{ }
/// <summary>
/// 清除
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnClear_Click(object sender, EventArgs e)
{
txtUserName.Text = "";
txtPwd.Text = "";
}
/// <summary>
/// 登录
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnLogin_Click(object sender, EventArgs e)
{
string username = txtUserName.Text.Trim();
string pwd = txtPwd.Text.Trim();
if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(pwd))
{
Response.Write("<script>alert('用户名或者密码不能为空');</script>");
}
else
{
string strCon=ConfigurationManager.ConnectionStrings["sq_zoe"].ToString();//电话号码
using (SqlConnection con = new SqlConnection(strCon))//电话
{
con.Open();//和数据库建立起了连接
string strSql = string.Format("select UserId from UserInfor where UserName='{0}' and Pwd='{1}'", username, pwd);
SqlCommand cmd = new SqlCommand(strSql, con);//执行sql语句
using (SqlDataReader read = cmd.ExecuteReader())//执行sql语句,将得到的结果赋值给read
{
if (read.HasRows)
{
//Response.Write("<script>alert('登录成功');</script>");
Response.Redirect("RNewsM.aspx");
}
else
{
Response.Write("<script>alert('用户名或者密码错误');</script>");
}
}
}
//read.Close();
//read.Dispose();
//con.Close();
//con.Dispose();
}
}
}
}
第一个Web算是做好了。
后记:得多多练习。
ASP.NET动态网站制作(22)-- ADO.NET(1)的更多相关文章
- ASP.NET动态网站制作(3)--css(2)
前言:css分为四次课讲完,第一节课内容见ASP.NET动态网站制作(2)--css(1),接下来的内容会涉及到定位.浮动.盒子模型(第二次课).css的具体应用(第三次课).css3(第四次课).今 ...
- ASP.NET动态网站制作(24)-- ADO.NET(3)
前言:ADO.NET的第三节课.今天主要讲SQL Helper. 内容: 1.DataReader和DataSet的区别: (1)DataReader是一行一行地读,且只能向前读:DataSet是一次 ...
- ASP.NET动态网站制作(23)-- ADO.NET(2)
前言:这节课老师请高级班的E老师过来代课,还是接着老师讲的内容继续深入,修改了上节课老师写的部分代码. 内容: 1.数据库本质就是一个软件,这个软件帮助我们把数据有序地存储起来,当我们需要数据的时候帮 ...
- ASP.NET动态网站制作(25)-- ADO.NET(4)
前言:这节课老师主要讲网页当中内容的分页效果,自己写一个分页控件. 内容: 1.首先写出HTML代码: <div id="pager"> <%=GetPagerH ...
- ASP.NET动态网站制作(26)-- Ajax
前言:这节课讲解关于Ajax的相关内容. 内容: 1.当点击页面中的一个按钮提交数据或请求数据的时候,整个页面的信息都会提交(不管信息是否是提交或者请求的数据,页面中所有的数据都提交),这样耗用的时间 ...
- ASP.NET动态网站制作(20)-- C#(3)
前言:C#的第三节课,继续上次课的内容,依旧围绕基础的只是讲解. 内容: 1.StringBuilder类:由于string类一旦创建,则不能更改.如果做字符串拼凑的话,将会非常耗费空间,如: str ...
- ASP.NET动态网站制作(1)--html
前言:正式上课的第一课,讲的是前端部分的最基础内容:html. 前端:html,css,js 数据库:sql server 动态部分:.net,c#... IIS(Internet Informati ...
- ASP.NET动态网站制作(0)
前言:一直想系统地学习一下网站建设的相关内容,看过相关的书籍,也跟着视频学过,但总觉得效率不高,学过的东西印象不深刻,或许还是自己动手实践的少.无意中免费听了一堂讲ASP.NET网站建设的课,觉得性价 ...
- ASP.NET动态网站制作(28)-- 三层框架(2)
前言:三层框架的第二节课,继续上次课的内容. 内容: 1.三层框架的使用目的:可以将视图层和业务逻辑层及实体层分开,可以提高代码的扩展性,安全性,可以实现程序的低耦合性. 2.GetModel方法及G ...
随机推荐
- 深入解析SQL Server并行执行原理及实践(上) ---高继伟
http://www.cnblogs.com/shanksgao/p/5497106.html
- linux之ls指令的关键字过滤显示
假设~/admin的文件夹下面有几个文件: a.pm b.pm c.pl d.pl e.pml 想只显示.pm结尾的可以用: ls *.pm 或者 ls | grep .pm,两者等价. 想显示b.开 ...
- VMware报错“原因: 未能锁定文件”,打开失败
原文:http://jingyan.baidu.com/article/425e69e6bf64dbbe15fc16fe.html VMware打开复制的虚拟机,报错“原因: 未能锁定文件”,打开失败 ...
- 阿里蚂蚁的前端ant-design
蚂蚁国内镜像: http://ant-design.gitee.io/components/date-picker-cn/ 阿里的设计平台:https://design.alipay.com/deve ...
- Struts2实现登录权限访问控制
目录: Ⅰ 条件 Ⅱ 目的 Ⅲ 分析 Ⅳ 实现 Ⅴ 具体代码实现 ------------------------------------------------------------------- ...
- 工具分享:GitHub的克隆工具Cl0neMast3r,轻松搞定各种测试
GitHub,相信大家并不陌生,咱搞技术的应该都会用到它,GitHub主要是进行代码工具的存储.下载等工作.今天介绍一款让我们操作GitHub相关工作变的更简单的工具, GitHub的克隆工具. Cl ...
- ant create-path 报不允许匹配[xX][mM][1L]错误
将build.xml配置文件的第一行 <?xml version="1.0" encoding="UTF-8"?> 空格去掉
- Web 目录枚举与遍历漏洞解决
"目录枚举漏洞"解决方法 一.名词解释 网站目录枚举漏洞:指黑客利用非法攻击手段扫描符合"8.3"命名原则的目录与文件. 二.验证工具:scanner-comp ...
- 百度兴趣点下载V1.4版
好东西就是不断的更改,升级出来的,经过连续四个版本的升级,本次版本受到用户的一致好评,也拿来在这里做个分享,期望对更多地用户起到一定的帮助! 还是一样,介绍一下其功能: 1.全国范围内的兴趣点任意区域 ...
- bat 处理文件路径 (所在目录,文件名,文件后缀名,完整文件名,无后缀路径)
echo off setlocal enabledelayedexpansion set "EXCEL_DIR=%cd%\excel" for /R %EXCEL_DIR% %%f ...