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 ...
随机推荐
- strace 使用案例
http://www.cnblogs.com/lixigang/articles/5512527.html
- kaptcha验证码
@Action("/validimg") public String validimg() throws Exception { genernateCaptchaImage(); ...
- apache 限制某些目录不能访问通过rewrite实现
通过deny allow访问控制肯定是可以实现的单个目录,但是这个必须指定准确的目录,如果有很多个目录,但是都包含某个名字,比如bbs.1.com/1/tmp/123.htmlbbs.1.com/2/ ...
- 阿里云ECS服务器IIS和WampServer同时运行
网上下载WampServer安装包 安装完成之后默认的端口是80 但是由于此端口被IIS占用了 点击WampServer的图标->Apache->Service->测试80端口 出现 ...
- asp.net敏感词过滤
敏感词过滤是一个能够让用户发表评论的网站的一个很重要的功能(你懂的~) 下面开始全套流程: 1.需要有一套比较完整的词库,由于我的词库很少所以就不贴上来了,网上找找应该很多 2.设计一个可以将词库导入 ...
- shell中字符串截取
Linux 的字符串截取很有用.有八种方法. 假设有变量 var="User:123//321:/home/dir" 1. # 号截取,删除左边字符,保留右边字符. [root@z ...
- KodExplorer介绍
KodExplorer介绍 KOD·简介 官方网站https://kodcloud.com/ KodExplorer可道云,原名芒果云,是一款基于 PHP 开发的开源 WEB 网页版轻量级私有云和在线 ...
- idea 添加多模块项目
建立多模块工程先建立一个空的项目,File-Project-Maven不勾选create from archetype即可 然后再右键父工程 添加模块jar包 添加模块war包 然后再pom中配置引用 ...
- 转:深度学习斯坦福cs231n 课程笔记
http://blog.csdn.net/dinosoft/article/details/51813615 前言 对于深度学习,新手我推荐先看UFLDL,不做assignment的话,一两个晚上就可 ...
- 01.Hello Node.js
程序下载:https://files.cnblogs.com/files/xiandedanteng/helloNodejs.rar 关键代码: var http=require('http'); v ...