仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 859|回复: 7
打印 上一主题 下一主题

[学习教程] ASP.NET网页编程之ASP.NET 中数据库操纵开端

[复制链接]
愤怒的大鸟 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:36:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
以前很热炒跨平台,主要是由于硅谷挑战微软霸主地位的热情,但是冷静下来后,跨平台往往不是那么一回事。假设你有个软件,所谓的跨平台,你只需要为第二个平台上重新编译一次就行了,这样很难么?asp.net|数据|数据库  1、界说OleDbCommand范例变量:MyCommand
  
  要对数据库举行增添、删除、修正的操纵我们还必要依据MyConnectio的范例界说一个OleDbCommand大概SqlCommand工具(请注重假如MyConnection是OleDbConnection范例,那末只能用OleDbCommand;假如MyConnection是SqlConnection范例,那末那末只能用SqlCommand。这里假定MyConnection是OleDbConnection类)。
  
  办法一
  你能够象拖放MyConnection一样拖放一个OleDbCommand,并定名为MyCommand。
  办法二
  在(联系关系文件).CS文件中protectedSystem.Data.OleDb.OleDbConnectionMyConnection;上面手动增加:
  protectedSystem.Data.OleDb.OleDbCommandMyCommand;在
  privatevoidInitializeComponent()中
  this.MyConnection=newSystem.Data.OleDb.OleDbConnection();的下一行上面手动增加:
  this.MyCommand=newSystem.Data.OleDb.OleDbCommand();便可完成对MyCommand的界说
  申明:MyCommand的感化是用来实行SQL命令
  
  2、使用界说的MyConnectio和MyCommand对数据库举行增添、删除、修正
  
  起首我们必要毗连并翻开一个数据库(关于数据库的毗连和翻开的操纵请观察我们之前的文章)。
  翻开数据库:
  MyConnectio.Open();然后我们必要给MyCommand指定要实行的SQL命令:
  MyCommand.CommandText="deletefromadmin";接着我们必要给MyCommand指定命据源(对谁人数据库实行SQL命令):
  MyCommand.Connection=MyConnection;然后我们实行MyCommand命令便可:
  MyCommand.ExecuteNonQuery();假如我们在实行另有
  "deletefromadmin";后必要接着实行
  “insertintoadmin(Admin_Code,Admin_Pwd)values(‘aa’,’bb’)”,则我们只需再次指定MyCommand指定要实行的SQL命令:
  MyCommand.CommandText=“insertintoadmin(Admin_Code,Admin_Pwd)values(‘aa’,’bb’)”,然后实行MyCommand.ExecuteNonQuery();便可。(因为数据库未封闭,以是我们不必要也不成以再次MyConnectio.Open();,同来由于没有改动MyCommand的数据源以是我们也没有需要再次指定MyCommand.Connection=MyConnection;)
  
  上面我们将具体解说怎样在Page_Load()中对数据库的增添、删除、修正,最初我们再来总结一下ExecuteNonQuery(),ExecuteScalar(),ExecuteReader的用法
  
  1、增添新的纪录
  privatevoidPage_Load(objectsender,System.EventArgse)
  {
  MyConnection.Open();’翻开数据库
  MyCommand1.CommandText="insertintoadminvalues(‘aaddq‘,‘as‘,‘ss‘)";
  MyCommand1.Connection=MyConnection;
  MyCommand1.ExecuteNonQuery();’因为增添了一笔记录,以是前往1
  //大概MyCommand1.ExecuteReader();先增添一笔记录,然后前往一个System.Data.OleDb.OleDbDataReader范例的工具,该工具为:EOF
  //大概MyCommand1.ExecuteScalar();先增添一笔记录,前往未实列化的工具
  MyConnection.Close();
  }2、删除现无数据
  privatevoidPage_Load(objectsender,System.EventArgse)
  {
  MyConnection.Open();’翻开数据库
  MyCommand1.CommandText="delete*fromadmin";
  MyCommand1.Connection=MyConnection;
  MyCommand1.ExecuteNonQuery();’因为删除n笔记录,以是前往n
  //大概MyCommand1.ExecuteReader();先删除n笔记录,然后前往一个System.Data.OleDb.OleDbDataReader范例的工具,该工具为:EOF
  //大概MyCommand1.ExecuteScalar();先删除n笔记录,前往未实列化的工具
  MyConnection.Close();
  }
  3、修正现无数据
  privatevoidPage_Load(objectsender,System.EventArgse)
  {
  MyConnection.Open();’翻开数据库
  MyCommand1.CommandText="updateadminsetadmin_code=’212’,Admin_pwd=’43’whereadmin_code=’23’";
  MyCommand1.Connection=MyConnection;
  MyCommand1.ExecuteNonQuery();’因为修正了1笔记录,以是前往n
  //大概MyCommand1.ExecuteReader();先修正了1笔记录,然后前往一个System.Data.OleDb.OleDbDataReader范例的工具,该工具为:EOF
  //大概MyCommand1.ExecuteScalar();先修正了1笔记录,前往未实列化的工具
  MyConnection.Close();
  }
  
  3、关于MyCommand的ExecuteNonQuery(),ExecuteScalar(),ExecuteReader办法的区分:
  
  1、ExecuteNonQuery():实行SQL,前往一个整型变量,假如SQL是对数据库的纪录举行操纵,那末前往操纵影响的纪录条数,假如是
  SQL="CREATETABLELookupCodes(code_idsmallintIDENTITY(1,1)PRIMARYKEYCLUSTERED,code_descvarchar(50)NOTNULL)"那末在表创立乐成后该办法前往C1。
  比方:
  privatevoidPage_Load(objectsender,System.EventArgse)
  {
  MyConnection.Open();’翻开数据库
  MyCommand1.CommandText="CREATETABLELookupCodes(code_idsmallintIDENTITY(1,1)PRIMARYKEYCLUSTERED,code_descvarchar(50)NOTNULL)";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)
  
  4、总结:
  
  ASP.Net中关于数据库的操纵办法良多,要完成一致个方针分歧的人大概会接纳分歧的办法,就仿佛在ASP中有的人喜好用RS.ADDNEW,有的人喜好用”InsertInto”,次要是看团体的习气,固然在功能上分歧的办法大概会存在较年夜的不同,这个只能靠我们在寻常的进修中一点一滴的堆集履历的。别的特地说一下ASP.Net页供应相似以下体例的操纵办法:
  
  OleDbCommand2.Parameters("au_id").Value=TextBox1.Text
  OleDbCommand2.Parameters("au_lname").Value=TextBox2.Text
  OleDbCommand2.Parameters("au_fname").Value=TextBox3.Text
  OleDbCommand2.Parameters("phone").Value=TextBox4.Text
  OleDbCommand2.Parameters("address").Value=TextBox5.Text
  OleDbCommand2.Parameters("city").Value=TextBox6.Text
  OleDbCommand2.Parameters("st").Value=TextBox7.Text
  OleDbCommand2.Parameters("zip").Value=TextBox8.Text
  OleDbCommand2.Parameters("contract").Value=CheckBox1.Checked
  cmdresults=OleDbcommand2.ExecuteNonQuery()可怜的程序员,还是逃不出移植的命运!
谁可相欹 该用户已被删除
沙发
发表于 2015-1-19 18:35:18 | 只看该作者
ASP.net的服务器,要求安装一个.net环境,当然我这里指的是windows系统,顺便点一下,.net只能放在windows环境里来运行。Asp.net1.1的就装Framework1.1,Asp.net2.0的就装Framework2.0。
简单生活 该用户已被删除
板凳
发表于 2015-1-28 09:20:50 | 只看该作者
这也就是最近几年来随着各种新的后台技术的诞生,CGI应用在Internet上越来越少的原因。CGI方式不适合大访问量的应用。
莫相离 该用户已被删除
地板
发表于 2015-2-5 15:59:18 | 只看该作者
关于ASP.NET功能上,ASP.NET比微软以前的ASP(96年出现)有更强大的library,更好的稳定性。ASP.NET可以使用.NETFramework中所有组件(也就是说.NET能实现的,ASP.NET一样能实现)。
飘灵儿 该用户已被删除
5#
发表于 2015-2-12 22:08:41 | 只看该作者
最强的技术支持WebService,而且有.NET的所有library做后盾。而且ASP.NET在.NET3.5中还有微软专门为AJAX开发的功能--ASP.NETAJAX。
再现理想 该用户已被删除
6#
发表于 2015-3-3 10:28:18 | 只看该作者
主流网站开发语言之JSP:JSP和Servlet要放在一起讲,是因为它们都是Sun公司的J2EE(Java2platformEnterpriseEdition)应用体系中的一部分。
小女巫 该用户已被删除
7#
发表于 2015-3-11 10:17:02 | 只看该作者
ASP是把代码交给VBScript解释器或Jscript解释器来解释,当然速度没有编译过的程序快了。
透明 该用户已被删除
8#
发表于 2015-3-25 12:17:42 | 只看该作者
对于中小项目来说.net技术是完全可以胜任,但为什么现在大型公司或网站都选择php或java呢?就是因为微软不够开放,没有提供从硬件到应用服务器再到业务应用的整套解决方案。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 20:41

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表