Namespace(命名空间)的使用

原创 2004年10月30日 16:19:00
作者:飞刀 

关于Namespace(命名空间)的使用常用<% @ Import Namespace="System.Data" %>,这是在引用M$为我们提供的Namespace,这和ASP不同的,我们贏SP.net必须先引用与我们操作有关的Namespace后才能使用相应的功能。其实说白了,一个Namespace; 就是一个组件我下面简单的列举一些常用的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之类的),这里由于飞刀的数据库是SQL Server,本来可以用ADO,但是想想M$单独把SQL独立出来,为何不用呢。至于它能带来多少好处,飞刀没有测试过,对SQL Server肯定要比ADO好一点啦。

无论是ADO还是SQL ,他们都有几个基本的对象用于操作

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或者DataSetCommand中将会使用.

它的一些有用的属性和方法有

ConnectionString 取得或设置连结数据库的语句
ConnectionTimeout 取得或设置连结数据库的最长时间,也是就超时时间
DataBase 取得或设置在数据库服务器上要打开的数据库名
DataSource 取得或设置DSN,大家不会陌生吧:)
Password 取得或设置密码
UserID 取得或设置登陆名
State 取得目前联结的状态
Open() 打开联结
Close() 关闭联结
Clone() 克隆一个联结。(呵呵,绵羊可以Connection我也可以)


我们也通过一个小例子来看看他们的用法:
SQLConnection myConnection = new SQLConnection();
myConnection.DataSource = "mySQLServer";
myConnection.Password = "";
myConnection.UserID = "sa";
myConnection.ConnectionTimeout = 30;
myConnection.Open();
myConnection.Database = "northwind";
myConnection.IsolationLevel = IsolationLevel.ReadCommitted

Commands(SQLCommand 或者 ADOCommand)

上面的程序中我们打开了一个联结,这里我们就需要来使用这个,看例子比较好:

<% @ 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(); //执行SQL,但不返回任何记录
MyConnection.Close();
}
</script>

在上面的例子中我们建立SQLCommand对象时引用了两个参数(strIndex,MyConnection),从源程序中我们也可以看出来strIndex代表的是执行的SQL语句,MyConnection是我们先前建立的联结.然后我们就要先打开MyConnnection,然后再执行这个SQL语句。我们在这里执行用的是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语句有很多种方法。而且还不只两种,我们后面学了DataSetCommand,那打开方法就是N种了:)这就需要看你的习惯和程序的要求了;)

我们先来看看Command常用的方法和属性

ActiveConnection 取得或设置联结Connections
CommandText 执行的SQL语句或储存过程(StoredProcedure)名
CommandTimeout 执行的最长时间
CommandType Command操作的类型(StoredProcedure,Text,TableDirect)三种,默认Text
Parameters 操作储存过程时使用
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);
myCommand.CommandTimeout = 15;
myCommand.CommandType = CommandType.Text;
版权声明:本文为博主原创文章,未经博主允许不得转载。

HBase学习笔记——命名空间(namespace)

在关系数据库系统中,命名空间namespace指的是一个表的逻辑分组,同一组中的表有类似的用途。命名空间的概念为即将到来的多租户特性打下基础: 配额管理(Quota Management (HBASE...
  • qq280929090
  • qq280929090
  • 2017年02月22日 16:15
  • 4886

Oracle创建命名空间和新用户

Oracle创建命名空间和新用户 Oracle安装完后,其中有一个缺省的数据库,除了这个缺省的数据库外,我们还可以创建自己的数据库。 为了避免麻烦,可以用’Database C...
  • zhuyu19911016520
  • zhuyu19911016520
  • 2014年03月01日 21:53
  • 1558

sql 2008安装出错 invalid namespace

文件是从微软官方下载的,之前装过2005~安装出现问题,具体日志如下:Overall summary:  Final result:                  失败: 请查看下面的详细信息  ...
  • dingbaobao_250
  • dingbaobao_250
  • 2010年06月09日 01:57
  • 1575

Struts2注解配置之@Namespace(四)

今天开始学习@Namespace注解。 还是先看一段代码: package com.example.actions; import org.apache.struts2.convention....
  • spyjava
  • spyjava
  • 2013年10月31日 07:08
  • 19359

Struts2注解配置之@Namespace(四)

版权声明:本文为博主原创文章,未经博主允许不得转载。 今天开始学习@Namespace注解。 还是先看一段代码: [java] view plain copy ...
  • hmy1106
  • hmy1106
  • 2016年05月04日 15:15
  • 770

struts2 注解方式注册action中 namespace 的注意事项

@SuppressWarnings("serial") @ParentPackage("struts-default") @Namespace(value="/deptConfig") @Contro...
  • z69183787
  • z69183787
  • 2012年10月24日 10:02
  • 4719

struts2学习:配置篇之namespace

把namespace单独拉出来讲一方面是因为它实际上不是一个element,而只是一个attribute,前面已经说了,它是package的一个attribute;另外一方面是因为这个属性是我接触St...
  • CMTobby
  • CMTobby
  • 2007年09月06日 20:15
  • 18441

struts 注解配置(@Namespace ,@Results ,@Action)

struts 和spring,hibernate等一样支持xml配置和注解配置。在使用注解配置之前,先实现xml配置。 创建action类 : package com.cd.action;...
  • qasxcvgh
  • qasxcvgh
  • 2017年01月24日 14:14
  • 1007

Namespace(命名空间)的使用

作者:飞刀  关于Namespace(命名空间)的使用常用,这是在引用M$为我们提供的Namespace,这和ASP不同的,我们贏SP.net必须先引用与我们操作有关的Namespace后才能使用相应...
  • 21aspnet
  • 21aspnet
  • 2004年10月30日 16:19
  • 2841

命名空间 小结

一、命名空间的作用 1、命名空间将 与一个特定功能有关的 所有类型都分组到一起。 2、命名空间有助于防止类型名称发生冲突。例如,两个都叫Program的类型只要在不同的命名空间中,就可以由编译器加...
  • susan19890313
  • susan19890313
  • 2011年09月29日 15:25
  • 1435
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Namespace(命名空间)的使用
举报原因:
原因补充:

(最多只允许输入30个字)