ASP.NET网页编程之ASP.NET 中数据库操纵开端
以前很热炒跨平台,主要是由于硅谷挑战微软霸主地位的热情,但是冷静下来后,跨平台往往不是那么一回事。假设你有个软件,所谓的跨平台,你只需要为第二个平台上重新编译一次就行了,这样很难么?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()可怜的程序员,还是逃不出移植的命运! ASP.net的服务器,要求安装一个.net环境,当然我这里指的是windows系统,顺便点一下,.net只能放在windows环境里来运行。Asp.net1.1的就装Framework1.1,Asp.net2.0的就装Framework2.0。 这也就是最近几年来随着各种新的后台技术的诞生,CGI应用在Internet上越来越少的原因。CGI方式不适合大访问量的应用。 关于ASP.NET功能上,ASP.NET比微软以前的ASP(96年出现)有更强大的library,更好的稳定性。ASP.NET可以使用.NETFramework中所有组件(也就是说.NET能实现的,ASP.NET一样能实现)。 最强的技术支持WebService,而且有.NET的所有library做后盾。而且ASP.NET在.NET3.5中还有微软专门为AJAX开发的功能--ASP.NETAJAX。 主流网站开发语言之JSP:JSP和Servlet要放在一起讲,是因为它们都是Sun公司的J2EE(Java2platformEnterpriseEdition)应用体系中的一部分。 ASP是把代码交给VBScript解释器或Jscript解释器来解释,当然速度没有编译过的程序快了。 对于中小项目来说.net技术是完全可以胜任,但为什么现在大型公司或网站都选择php或java呢?就是因为微软不够开放,没有提供从硬件到应用服务器再到业务应用的整套解决方案。
页:
[1]