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;
DMIT,最近动作频繁,前几天刚刚上架了日本lite版VPS,正在酝酿上线日本高级网络VPS,又差不多在同一时间推出了美国cn2 gia线路不限流量的美国云服务器,不过价格太过昂贵。丐版只有30M带宽,月付179.99 美元 !!目前美国云服务器已经有个4个套餐,分别是,Premium(cn2 gia线路)、Lite(普通直连)、Premium Secure(带高防的cn2 gia线路),Prem...
提速啦的来历提速啦是 网站 本着“良心 便宜 稳定”的初衷 为小白用户避免被坑 由赣州王成璟网络科技有限公司旗下赣州提速啦网络科技有限公司运营 投资1000万人民币 在美国Cera 香港CTG 香港Cera 国内 杭州 宿迁 浙江 赣州 南昌 大连 辽宁 扬州 等地区建立数据中心 正规持有IDC ISP CDN 云牌照 公司。公司购买产品支持3天内退款 超过3天步退款政策。提速啦的市场定位提速啦主...
新网好不好?新网域名便宜吗?新网怎么样?新网是国内老牌知名域名注册商,企业正规化运营,资质齐全,与阿里云万网和腾讯云DNSPOD同为国内服务商巨头。近日新网发布了最新的七月放价季优惠活动,主要针对域名、云主机、企业邮箱、SSL证书等多款云产品推送了超值的优惠,其中.com顶级域名仅19.9元/首年,.cn域名仅16元/首年,云主机1核心2G内存3Mbps带宽仅9.9元/月,企业邮箱更是免费送1年,...