下面我将详细讲解在机房收费系统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()方法的用法的简单总结,如有出入,还请见谅。

转载于:https://www.cnblogs.com/jiangu66/p/3241646.html

ASP.NET中的ExecuteNonQuery()方法的用法相关推荐

  1. Asp.net中利用ExecuteNonQuery()执行存储过程返回-1解决方案

    Asp.net中利用ExecuteNonQuery()执行存储过程返回-1解决方案 2009-08-22 14:06 by chenkai, 544 阅读, 1 评论, 收藏, 编辑 Asp.net中 ...

  2. ASP.NET中Get和Post的用法

    ASP.NET中Get和Post的用法 http://developer.51cto.com  2009-07-29 16:53  wangpei  cnblogs  我要评论(0) 本文介绍了asp ...

  3. SqlHelper类中的ExecuteNonQuery方法解析

    在SqlHelper类(windows原)中,ExecuteNonQuery方法通常用于执行数据库更新与返回存储过程的输出参数,它有九个重载,接下来我们来一一解析. 首先介绍一下此方法可以输入哪些参数 ...

  4. ASP.NET中String.IndexOf 方法的使用

      ASP.NET中String.IndexOf 方法的使用 收藏 String.IndexOf 方法 (value, [startIndex], [count]) 报告指定字符在此实例中的第一个匹配 ...

  5. java drawstring字体大小,JAVA中,drawstring 方法的用法,格式是什么啊

    啦啦啦额68的回答 Java中Graphics类的drawString()方法: i)drawString(String str,int x,int y): String str是可以在屏幕上显示的字 ...

  6. ResultSet 中的getString 方法的用法

    ResultSet 中的getString()方法的用法? 检举 | 2009-9-3 12:32 提问者: 爱海的人233 | 浏览次数:5638次 ResultSet rs; Sting s=rs ...

  7. 在ASP.NET中调用存储过程方法新解

    摘要 存储过程的调用在B/S系统中用的很多.传统的调用方法不仅速度慢,而且代码会随着存储过程的增多不断膨胀,难以维护.新的方法在一定程度上解决了这些问题. 关键词 ASP.NET:存储过程 在使用.N ...

  8. asp.net中的加密方法

    本文由chenyangASP版权所有,可以转载,复制,粘贴,并请注明出处,但不得修改! 无论什么时候只要我们使用数据库开发网站,我们就必须保护用户资料,这非常必要. 黑客可以盗窃口令,个人隐私遭到严重 ...

  9. 在ASP.NET中调用存储过程方法

    两种不同的存储过程调用方法 为了突出新方法的优点,首先介绍一下在.NET中调用存储过程的"官方"方法.另外,本文的所有示例程序均工作于SqlServer数据库上,其它情况类似,以后 ...

  10. Lodop插件中的StartPrint方法的用法,备忘

    Lodop中的StartPrint方法详解: 参数: PrintName:打印名称, pageWidth:纸张尺寸宽 pageHeight:纸张尺寸高 StyleContent:模板json字符串 I ...

最新文章

  1. 用for实现Go的while和do...while
  2. 吴恩达教你如何使用“锤子”?机器学习新书免费领
  3. seaborn使用boxplot函数进行箱图可视化(使用色彩调色板自定义设置箱图的颜色、在boxplot函数内设置palette参数自定义调色板)
  4. MemCache在Windows环境下的搭建及启动
  5. 离线地图解决方案(二):地图基本控制
  6. hystrix熔断和降级的区别_Ribbon+Hystrix断路器实现微服务的降级和熔断
  7. VisualStudioIDE各个版本大合集分享
  8. 2010年5月22日 网络规划师下午II 试题预测和论文预测
  9. 数据结构之基环树——骑士,Island,旅行加强版,Number of Simple Paths,Traffic Network in Numazu,Card Game
  10. Java的HttpURLConnection通过POST请求中文乱码
  11. 自动处理可载入模块命令 modprobe
  12. 5分钟即可使用25年的Linux
  13. html一个页面分页代码怎么写,纯JS前端实现分页代码
  14. Python解法华为OJ机试-迷宫问题
  15. 最轻松mflac转flac、mp3方法
  16. cve_2019_0708 bluekeep复现踩坑
  17. 静态网页—制作“人人网首页”页面
  18. 工程与建设杂志工程与建设杂志社工程与建设编辑部2022年第3期目录
  19. Win7安装win10,无需全盘重新分区,原MBR格式转GPT格式,创建EFI和MSR分区,安装win10
  20. 白杨SEO:中小企业发广告去哪个平台?一般选择哪种推广方式方法比较好?

热门文章

  1. Could not find class
  2. linux之iptables详解及配置
  3. 终端花屏后的恢复办法
  4. UTF-8格式编码与UTF-8无BOM格式编码的区别(包括java文件)
  5. MSRA被曝停招国防七子及北邮学生
  6. 国产 Linux 发行版再添一员,界面不输苹果!太漂亮了。。
  7. 在同一个公司死磕5-10年,到底值不值得?
  8. 【系统架构】如何逐步去构建一个大型网站系统
  9. 计算机“复制粘贴”之父去世
  10. 2019年9月全国程序员工资统计(参考)