ASP.Net中命名空间Namespace浅析和使用例子
这篇文章主要介绍了ASP.Net中命名空间Namespace浅析和使用例子,本文例子使用的是ASP.NET混合编程,需要的朋友可以参考下
关于Namespace(命名空间)的使用我常用
复制代码代码如下:
<%@Import Namespace="System.Data"%>
,这是在引用为我们提供的Namespace,这和ASP不同的我们在ASP.net必须先引用与我们操作有关的Namespace后才能使用相应的功能。其实说白了一个Namespace;就是一个组件。
这个是关于ASP.net的高级应用。
我下面简单的列举一些常用的Namespace
复制代码代码如下:
<%@Import Namespace="System.Data"%>处理数据时用到
<%@Import Namespace="System.Data.ADO"%>使用ADO.net ;时用到
<%@Import Namespace="System.Data.SQL"%> SQL Server数据库专用
<%@Import Namespace="System.Data.XML"%>不用看处理XML用到
<%@Import Namespace="System.IO"%>处理文件时用到
<%@Import Namespace="System.Web.Util"%>发邮件时大家会用到
<%@Import Namespace="System.Text"%>文本编码时用到
操作数据库需要的东东
讲解了Namespace,我们可以正式来讨论数据库的应用了。
从上面的可以看出我们操作数据库我们需要引用下面两个Namespace
复制代码代码如下:
<%@Import Namespace="System.Data"%>
<%@Import Namespace="System.Data.SQL"%>
其实System.Data.SQL可以用System.Data.ADO来代替 SQL是SQL Server专用ADO可以支持任何数据库只要在主机上存在相应的驱动就行了,如Access,Mysql,Oracle之类的。无论是ADO还是S QL 他们都有几个基本的对象用于操作
复制代码代码如下:
Connections连结到一个数据库 以便于后面的应用类似ADO中的Connections)Commands执行SQL语句的地方
DataReader读取执行后返回的数据内容
DataSet储存数据功能强大我们会具体讲解
DataSetCommand执行SQL语句,并把数据存入DataSet
这里面可能最难理解的就是DataSet,我们先不去管他。
Connections(SQLConection或者ADOConnection)
它的主要任务就是建立一个与数据库服务器的连接
复制代码代码如下:
<%@Page Language="C#"%>
<%@Import Namespace="System.Data"%>
<%@Import Namespace="System.Data.SQL"%>
<script Language= "C#"Runat= "Server">public void Page_Load(Object src,EventArgs e)
{stringstrProvider="server=localhost;uid=sa;pwd=;database=aspcn";
SQLConnection MyConnection=new SQLConnection(strProvider);
}
</script>
上面我们建立了一个名为MyConnection的联结就好像我们在ASP中用ADODB.Connection打开了一个联结这个联结我们在Command或者DataS etCommand中将会使用。它的一些有用的属性和方法有
复制代码代码如下:
ConnectionString取得或设置连结数据库的语句
ConnectionTimeout取得或设置连结数据库的最长时间也是就超时时间
D ataB ase取得或设置在数据库服务器上要打开的数据库名
D ataS ource取得或设置D SN,大家不会陌生吧
Password取得或设置密码
UserID取得或设置登陆名
State取得目前联结的状态
Open()打开联结
Close()关闭联结
Clone()克隆一个联结。
我们也通过一个小例子来看看他们的用法
复制代码代码如下:
SQLConnection myConnection=new SQLConnection();myConnection.DataSource = "myS QLS erver";myConnection.Password= "";myC onnection.Us erID= "sa";myC onne ction.C onnectionTime out= 30;myConnection.Open();myConnection.D atabase = "northwind";myConnection.IsolationLevel = IsolationLevel.ReadCommitted
Commands(S QLCommand或者ADO Command)
上面的程序中我们打开了一个联结这里我们就需要来使用这个,看例子比较好:复制代码代码如下:
<%@Page Language="C#"%>
<%@Import Namespace="System.Data"%>
<%@Import Namespace="System.Data.SQL"%>
<script Language="C#"Runat="Server">public void Page_Load(Object src,EventArgs e)
{stringstrProvider="server=localhost;uid=sa;pwd=;database=aspcn";string strIndex="select * from aspcn where purview='webmaster'";
SQLConnection MyConnection=new SQLConnection(strProvider);
SQLCommand MyCommand=new SQLCommand(strIndex,MyConnection);
MyConnection.Open(); //打开联结
MyCommand.ExecuteNonQuery(); //执行S QL但不返回任何记录
MyConnection.Close();
}
</script>
在上面的例子中我们建立S QLCommand对象时引用了两个参数(strIndex,MyConnection),从源程序中我们也可以看出来strIndex代表的是执行的S QL语句MyConnection是我们先前建立的联结.然后我们就要先打开MyConnnection,然后再执行这个S QL语句。
我们在这里执行用的是ExecuteNonQuery()方法这样不返回记录集只是返回受影响的记录个数。
这里我们打开和关闭数据库也可以这样做。
复制代码代码如下:stringstrProvider="server=localhost;uid=sa;pwd=;database=aspcn";string strIndex="select * from aspcn where purview='webmaster'";
SQLConnection MyConnection=new SQLConnection(strProvider);
SQLCommand MyCommand=new SQLCommand(strIndex,MyConnection);
MyCommand.ActiveConnection.Open();
MyCommand.ExecuteNonQuery();
MyCommand.ActiveConnection.Close();
所得结果和先前的一样。所以执行一条SQL语句有很多种方法。而且还不只两种我们后面学了DataS etCommand,那打开方法就是N种了 这就需要看你的习惯和程序的要求了 我们先来看看Command常用的方法和属性
复制代码代码如下:
ActiveConnection取得或设置联结Connections
CommandText执行的SQL语句或储存过程(StoredProcedure)名
CommandTimeout执行的最长时间
CommandType Command操作的类型(StoredProcedure,Text,TableDirect)三种,默认TextP arameters操作储存过程时使用
Execute()执行SQL语句或储存过程
ExecuteNonQuery()同上区别在于不返回记录集
Clone()克隆Command
同样看一个例子
复制代码代码如下:string mySelectQuery= "SELECT * FROM Categories ORDER BY CategoryID";
stringmyConnectString="userid=sa;password=;database=northwind;server=mySQLServer";SQLCommand myCommand=new SQLCommand(mySelectQuery);myCommand.ActiveConnection=new SQLConnection(myConnectString);myC ommand.C ommandTime out= 15;myC ommand.C ommandTyp e =C ommandTyp e.Text;
LOCVPS发来了新的洛杉矶CN2线路主机上线通知,基于KVM架构,目前可与香港云地、香港邦联机房XEN架构主机一起适用7折优惠码,优惠后最低美国洛杉矶CN2线路KVM架构2GB内存套餐月付38.5元起。LOCPVS是一家成立较早的国人VPS服务商,目前提供洛杉矶MC、洛杉矶C3、和香港邦联、香港沙田电信、香港大埔、日本东京、日本大阪、新加坡、德国和荷兰等机房VPS主机,基于KVM或者XEN架构。...
香港站群多ip服务器多少钱?想做好站群的SEO优化,最好给每个网站都分配一个独立IP,这样每个网站之间才不会受到影响。对做站群的站长来说,租用一家性价比高且提供多IP的香港多ip站群服务器很有必要。零途云推出的香港多ip站群云服务器多达256个IP,可以满足站群的优化需求,而且性价比非常高。那么,香港多ip站群云服务器价格多少钱一个月?选择什么样的香港多IP站群云服务器比较好呢?今天,小编带大家一...
香港大带宽服务器香港大带宽云服务器目前市场上可以选择的商家十分少,这次给大家推荐的是我们的老便宜提速啦的香港大带宽云服务器,默认通用BGP线路(即CN2+BGP)是由三网直连线路 中国电信骨干网以及HGC、NTT、PCCW等国际线路混合而成的高品质带宽(精品带宽)线路,可有效覆盖全球200多个国家和地区。(适用于绝大部分应用场景,适合国内外访客访问,域名无需备案)提速啦官网链接:点击进入香港Cer...