ASP.NET中的ExecuteNonQuery()方法的用法
下面我将详细讲解在机房收费系统D层中如何对数据库的增加、删除、修改,最后再来总结一下
ExecuteNonQuery(),ExecuteScalar(),ExecuteReader的用法:
一、增、删、改
1、 增加新的记录
Private Sub frmAddUser_Load(sender As Object, e As EventArgs) Handles MyBase.Load
{
MyConnection.Open();’打开数据库
MyCommand1.CommandText="InsertintoUser_Info(userID,PWD,Level,UserName) values (@UserID,@PWD,@Level,@UserName) ";
MyCommand1.Connection = MyConnection;
MyCommand1.ExecuteNonQuery();
’由于增加了一条记录,所以返回1
//或者MyCommand1.ExecuteReader();先增加一条记录,然后返回一个System.Data.OleDb.OleDbDataReader类型的对象,该对象为:EOF
//或者MyCommand1. ExecuteScalar();先增加一条记录,返回未实列化的对象
MyConnection.Close();
}
2、 删除现有数据
Private Sub frmDeUser_Load(sender As Object, e As EventArgs) Handles MyBase.Load
{
MyConnection.Open();’打开数据库
MyCommand1.CommandText = "delete * from admin";
MyCommand1.Connection = MyConnection;
MyCommand1.ExecuteNonQuery();
’由于删除了n条记录,所以返回n
//或者MyCommand1.ExecuteReader();先删除n条记录,然后返回一个System.Data.OleDb.OleDbDataReader类型的对象,该对象为:EOF
//或者MyCommand1. ExecuteScalar();先删除n条记录,返回未实列化的对象
MyConnection.Close();
}
3、 修改现有数据
Private Sub frmModifyUser_Load(sender As Object, e As EventArgs) Handles MyBase.Load
MyConnection.Open();’打开数据库
MyCommand1.CommandText = "update User_Info set PWD='" & enUser.NewPWD & "' where UserName ='" & enUser.UserName & "'";
MyCommand1.Connection = MyConnection;
MyCommand1.ExecuteNonQuery();’
由于修改了1条记录,所以返回n
//或者MyCommand1.ExecuteReader();
先修改了1条记录,然后返回一个System.Data.OleDb.OleDbDataReader类型的对象,该对象为:EOF
//或者MyCommand1. ExecuteScalar();先修改了1条记录,返回未实列化的对象
MyConnection.Close();
二、关于MyCommand的ExecuteNonQuery(),ExecuteScalar(),ExecuteReader方法的区别:
1、ExecuteNonQuery():执行SQL,返回一个整型变量,如果SQL是对数据库的记录进行操作,那么返回操作影响的记录条数,如果是 SQL="CREATE TABLE LookupCodes (code_id smallint IDENTITY(1,1)PRIMARY KEY CLUSTERED, code_desc varchar(50) NOT NULL)"那么在表创建成功后该方法返回–1。
例如:
privatevoid Page_Load(object sender, System.EventArgs e)
{
MyConnection.Open();’打开数据库
MyCommand1.CommandText= "CREATE TABLE LookupCodes (code_id smallint IDENTITY(1,1) PRIMARY KEYCLUSTERED, code_desc varchar(50) NOT NULL)"; MyCommand1.Connection = MyConnection;
MyCommand1.ExecuteNonQuery();’首先建立一个LookupCodes表,然后返回-1
//或者MyCommand1.ExecuteReader();首先建立一个LookupCodes表,然后返回一个System.Data.OleDb.OleDbDataReader类型的对象,该对象为:EOF
//或者MyCommand1.ExecuteScalar();首先建立一个LookupCodes表,返回未实列化的对象
MyConnection.Close();
}
2、 ExecuteScalar():执行SQL,(如果SQL是查询Select)返回查询结果的第一行第一列,如果(如果SQL不是查询Select)那 么返回未实列化的对象,因为对象未实列化,所以返回结果不能ToString(),不能Equals(null),也就是说返回结果没有任何作用
3、 executeReader方法执行SQL,(如果SQL是查询Select)返回查询结果的集合,类型是System.Data.OleDb.OleDbDataReader,你可以通过此结果,获取查询的数据。如果(如果SQL不是查询Select)那么 返回一个没有任何数据的System.Data.OleDb.OleDbDataReader类型的集合(EOF)
三、总结:
ASP.Net中对于数据库的操作方法很多,要实现统一个目标不同的人可能会采取不同的方法,就好像在ASP中有的人喜欢用RS.Addnew,有的人喜欢用”Insert Into”,主要是看个人的习惯,当然在性能上不同的方法可能会存在较大的差别,这个只能靠我们在平常的学习中一点一滴的积累经验的。
另外顺便说一下 ASP.Net页提供类似如下方式的操作方法:
Dim Paras As SqlParameter() ={New SqlParameter("@cardno", enStudent.cardno),
New SqlParameter("@studentNo", enStudent.studentNo),
New SqlParameter("@studentName", enStudent.studentName),
New SqlParameter("@sex", enStudent.sex),
New SqlParameter("@department", enStudent.department),
New SqlParameter("@grade", enStudent.grade),
New SqlParameter("@Studentclass", enStudent.Studentclass),
New SqlParameter("@cash", enStudent.cash),
New SqlParameter("@status", enStudent.status)
}
以上是对ASP.NET中的ExecuteNonQuery()方法的用法的简单总结,如有出入,还请见谅。
ASP.NET中的ExecuteNonQuery()方法的用法的更多相关文章
- TinyMCE(富文本编辑器)在Asp.Net中的使用方法
TinyMCE(富文本编辑器)在Asp.Net中的使用方法 转至:http://www.cnblogs.com/freeliver54/archive/2013/02/28/2936506.htm ...
- Tinymce在ASP.NET中的使用方法
现在做网页,用FCKEditor用得比较多,它的实现原理是在要加入FCKEditor的地方加入一个iframe,并将其src指向FCKeditor/editor/fckeditor.html?Inst ...
- 【转载】ASP.NET中Server.MapPath方法获取网站根目录总结
在ASP.NET网站应用程序中,可以通过Server.MapPath方法来获取跟服务器有关的目录信息,如获取网站的根目录.获取当前代码文件所在的目录路径.获取当前代码所在路径的上级路径等.Server ...
- Java用代码演示String类中的以下方法的用法
用代码演示String类中的以下方法的用法 (1)boolean isEmpty(): 判断字符串是不是空串,如果是空的就返回true (2)char charAt(int index): 返回索引上 ...
- asp.net中的<%%> <%#%> <%=%>形式的详细用法 (转载)
博客分类: ASP.NET 一. <%%>这种格式实际上就是和asp的用法一样的,只是asp中里面是vbscript或者javascript代码,而在asp.net中是.net平台下支 ...
- ASP.NET中调用存储过程方法
两种不同的存储过程调用方法 为了突出新方法的优点,首先介绍一下在.NET中调用存储过程的“官方”方法.另外,本文的所有示例程序均工作于SqlServer数据库上,其它情况类似,以后不再一一说明.本文所 ...
- 几种判断asp.net中session过期方法的比较
方法一:最麻烦也是最容易想到的方法,在每个页面的page_load()方法里面判断: protected void Page_Load(object sender, EventArgs e) { if ...
- ASP.NET中Get和Post的用法
单form的提交有两种方式,一种是get的方法,一种是post 的方法.看下面代码,理解ASP.NET Get和Post两种提交的区别: < form id="form1" ...
- ASP.NET中<%=%>、<%%>、<%@%>、<%#%>的用法与区别
1.<%= %> 里面放变量名,获取后台的变量值,直接输入变量到页面上,里面放的变量名,未经过encode eg: 后台: seession["ab"]=ab; 前台: ...
随机推荐
- 用Swift开发二维码扫描器教程
(原文:Building a QR Code Reader in Swift 作者:Simon Ng 译者:xiaoying )我相信大多数人都知道二维码(QR code)是什么,如果你对这个概念还不 ...
- VMware Workstation(虚拟机软件) V10.0 简体中文版可以安装了
在虚拟机软件中VMware Workstation算是一款非常强大较稳定的软件了,今天 VMware Workstation 10.0正式发布了,最让人欣喜的是该版本终于有了简体中 文版了,从现在开始 ...
- codeforces 659B Qualifying Contest
题目链接:http://codeforces.com/problemset/problem/659/B 题意: n个人,m个区.给出n个人的姓名(保证不相同),属于的区域,所得分数.从每个区域中选出成 ...
- Selenium来抓取动态加载的页面
一般的爬虫都是直接使用http协议,下载指定url的html内容,并对内容进行分析和抽取.在我写的爬虫框架webmagic里也使用了HttpClient来完成这样的任务. 但是有些页面是通过js以及a ...
- Codeforces Round #296 (Div. 2) A B C D
A:模拟辗转相除法时记录答案 B:3种情况:能降低2,能降低1.不能降低分别考虑清楚 C:利用一个set和一个multiset,把行列分开考虑.利用set自带的排序和查询.每次把对应的块拿出来分成两块 ...
- 【Android小应用】颈椎保健操Android开源项目
前段时间在知乎上回答已入 IT 行业的前辈,有哪些关于保护身体健康的知识分享给 IT 新人? ,回复了一张图片,评论里面有知友希望通过程序可以实现,我后面尝试着通过程序实现了效果,现开源出来,大家可以 ...
- WorkFlow介绍及用法
WorkFlow介绍及用法 说起workflow大家肯定都不陌生,这里简单介绍一下salesforce中什么情况下使用workflow. 当你分配许多任务,定期发送电子邮件,记录修改时,可以通过自动配 ...
- A Game of Thrones(8) - Bran
The hunt left at dawn. The king wanted wild boar at the feast tonight. Prince Joffrey rode with his ...
- OpenStack 中的neutron-server启动过程
neutron-server是neutron的核心组件之中的一个.负责直接接收外部请求,然后调用后端对应plugin进行处理. 其核心启动过程代码主要在neutron.server包中. __init ...
- Android 启动过程的底层实现
转载请标明出处: http://blog.csdn.net/yujun411522/article/details/46367787 本文出自:[yujun411522的博客] 3.1 androi ...