前言:这节课开始真正地学习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)的更多相关文章

  1. ASP.NET动态网站制作(3)--css(2)

    前言:css分为四次课讲完,第一节课内容见ASP.NET动态网站制作(2)--css(1),接下来的内容会涉及到定位.浮动.盒子模型(第二次课).css的具体应用(第三次课).css3(第四次课).今 ...

  2. ASP.NET动态网站制作(24)-- ADO.NET(3)

    前言:ADO.NET的第三节课.今天主要讲SQL Helper. 内容: 1.DataReader和DataSet的区别: (1)DataReader是一行一行地读,且只能向前读:DataSet是一次 ...

  3. ASP.NET动态网站制作(23)-- ADO.NET(2)

    前言:这节课老师请高级班的E老师过来代课,还是接着老师讲的内容继续深入,修改了上节课老师写的部分代码. 内容: 1.数据库本质就是一个软件,这个软件帮助我们把数据有序地存储起来,当我们需要数据的时候帮 ...

  4. ASP.NET动态网站制作(25)-- ADO.NET(4)

    前言:这节课老师主要讲网页当中内容的分页效果,自己写一个分页控件. 内容: 1.首先写出HTML代码: <div id="pager"> <%=GetPagerH ...

  5. ASP.NET动态网站制作(26)-- Ajax

    前言:这节课讲解关于Ajax的相关内容. 内容: 1.当点击页面中的一个按钮提交数据或请求数据的时候,整个页面的信息都会提交(不管信息是否是提交或者请求的数据,页面中所有的数据都提交),这样耗用的时间 ...

  6. ASP.NET动态网站制作(20)-- C#(3)

    前言:C#的第三节课,继续上次课的内容,依旧围绕基础的只是讲解. 内容: 1.StringBuilder类:由于string类一旦创建,则不能更改.如果做字符串拼凑的话,将会非常耗费空间,如: str ...

  7. ASP.NET动态网站制作(1)--html

    前言:正式上课的第一课,讲的是前端部分的最基础内容:html. 前端:html,css,js 数据库:sql server 动态部分:.net,c#... IIS(Internet Informati ...

  8. ASP.NET动态网站制作(0)

    前言:一直想系统地学习一下网站建设的相关内容,看过相关的书籍,也跟着视频学过,但总觉得效率不高,学过的东西印象不深刻,或许还是自己动手实践的少.无意中免费听了一堂讲ASP.NET网站建设的课,觉得性价 ...

  9. ASP.NET动态网站制作(28)-- 三层框架(2)

    前言:三层框架的第二节课,继续上次课的内容. 内容: 1.三层框架的使用目的:可以将视图层和业务逻辑层及实体层分开,可以提高代码的扩展性,安全性,可以实现程序的低耦合性. 2.GetModel方法及G ...

随机推荐

  1. 【IntellJ IDEA】idea的Terminal窗口中文乱码 解决方法

    在操作git命令在windows上的idea中的terminal窗口时,总是出现中文乱码的问题 本开始以为是git乱码的问题,如果是GIt中文乱码,解决方案:https://www.cnblogs.c ...

  2. numpy 多维数组的存取

    多维数组的存取和一维数组类似,由于多维数组有多个轴,所以他的下标需要多个值来表示.这里讨论的主要是二维数组.二维数组0轴以行为单位,1轴以列为单位,存取数组使用元组作为下标,需要注意的是,python ...

  3. hibernate的 lazy 和 fetch 一般配置

    fetch 和 lazy 配置用于数据的查询 lazy 参数值常见有 false 和 true,Hibernate3 映射文件中默认lazy = true : fetch 指定了关联对象抓取的方式,参 ...

  4. textureView

    textureView是用来访问texture的一部分的 cubemap 和 mipmap会用到这个 for(face =0;face<6;face++) setrendertarget(tex ...

  5. Hive 性能调优

    避免执行MR select * or select field1,field2 limit 10 where语句中只有分区字段或该表的本地字段 使用本地set hive.exec.mode.local ...

  6. 【机器学习】Mahout算法集

    在Mahout实现的机器学习算法见下表 算法类 算法名 中文名 分类算法 Logistic Regression 逻辑回归 Bayesian 贝叶斯 SVM 支持向量机 Perceptron 感知器算 ...

  7. P6 EPPM 安装和配置指南

    In This Section Installation and Configuration Guide Manual Installation Guides P6 Professional Inst ...

  8. cmake 如何生成一个win32工程

    只需要加上下面一句连接选项就可以了. IF(WIN32) SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SUBSYSTEM:W ...

  9. 微信小程序 - 关于下拉刷新

    // 拉取数据 fetchData: function() { wx.request({ url: 'http://v.juhe.cn/toutiao/index', data: { type: '' ...

  10. Laravel之哈希/常用函数/分页

    一.哈希 1.简介Laravel Hash 门面为存储用户密码提供了安全的Bcrypt 哈希算法.如果你正在使用Laravel 应用自带的AuthController 控制器,将会自动为注册和认证使用 ...