作者:飞刀 

关于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;

Namespace(命名空间)的使用相关推荐

  1. 【C++ 语言】命名空间 ( namespace | 命名空间定义 | 命名空间嵌套 | 域作用符 | 与 include 对比 )

    文章目录 命名空间简介 自定义命名空间 自定义嵌套命名空间 域作用符 命名空间 与 include 区别 命名空间定义与使用完整代码 命名空间简介 命名空间 ( namespace ) : 1.命名空 ...

  2. C++namespace命名空间

    C++namespace命名空间 namespace 命名空间 使用 命名空间别名 namespace 在C ++中使用命名实体之前,必须先声明它们,例如变量,函数和复合类型.程序中此声明发生的地方会 ...

  3. 4 C++对C的加强之namespace命名空间

    namespace命名空间 1 C++命名空间基本常识 一 :和 1 C++命名空间基本常识 所谓namespace,是指标识符的各种可见范围.C++标准程序库中的所有标识符都被定义于一个名为std的 ...

  4. 详解c++关键字。namespace命名空间的用法。实际开发中namespace应用场景。

    namespace 命名空间 要介绍namespace就先要讲明白c语言域的概念 域 什么是域呢?域就是变量作用的空间,在c++中,域被分为全局作用域和局部作用域. 一个域中的变量不能重名.不同域之间 ...

  5. 关于js中namespace命名空间模式

    命名空间有助于减少程序中所需要的全局变量的数量,并且同时有助于避免命名冲突或过长的名字前缀. 关于命名空间的例子: /** * 创建全局对象MYAPP * @module MYAPP * @title ...

  6. Unity C# namespace 命名空间的使用

    命名空间在多个面对对象的语言中有应用,例如JAVA,C++,C#.本文主要记录了在C#中如何调用不同命名空间的public class. 首先对namespace做一个简单的总结.如果说类是对属性和方 ...

  7. namespace命名空间的使用

    一.何为命名空间 PHP 命名空间(namespace)是在PHP 5.3中加入的."什么是命名空间?从广义上来说,命名空间是一种封装事物的方法.在很多地方都可以见到这种抽象概念.例如,在操 ...

  8. 02C++namespace命名空间

    一.C++命名空间基本常识 所谓namespace,是指标识符的各种可见范围.C++标准程序库中的所有标识符都被定义于一个名为std的namespace中. 1.<iostream>和&l ...

  9. namespace 命名空间

    在讨论如何使用命名空间之前,必须了解 PHP 是如何知道要使用哪一个命名空间中的元素的.可以将 PHP 命名空间与文件系统作一个简单的类比.在文件系统中访问一个文件有三种方式: 相对文件名形式如foo ...

最新文章

  1. 软件缺陷预测的两种定义
  2. 6、Power Query-SQL与PQ技术的强强联合
  3. 如何用distinct消除重复记录的同时又能选取多个字段值?
  4. 【软件测试】软件测试与概率
  5. 【空间】C++内存管理
  6. plugin.super mysql_使用MySQ Clone Plugin部署MySQL Group Replication
  7. 【优化算法】麻雀搜索优化算法(SSA)【含Matlab源码 1288期】
  8. 万年历c语言代码3000年,求万年历代码!
  9. Matlab曲线平滑
  10. h5下划线怎么设置_怎么给文加下划线?
  11. 璞华PLM为全场景产品生命周期管理赋能,助力产品主线的企业数字化转型
  12. android 电视 vob格式转换,佳佳VOB格式转换器将视频转换到手机格式的方法
  13. oracle 12c创建归档,oracle 12c 数据归档 即Using In-Database Archiving feature
  14. Jquery写的幸运大转盘抽奖实例,用asp.net处理的服务器逻辑,附源码下载
  15. 【书】测试架构师-必备的6个能力
  16. Genymotion ova官方下载地址
  17. Doris系列之导入Kafka数据操作
  18. 使用 holer 实现外网访问本地服务
  19. python编程免费小说_使用Python开发小说下载器,不再为下载小说而发愁
  20. 计算机基础知识综合参考书,计算机基础知识综合参考-20210411123539.pdf-原创力文档...

热门文章

  1. 便利vector_C++面试题之list和vector的区别
  2. msflexgrid允许大选择_工程中要用多大的电线电缆?一文教你怎么算
  3. data的值 如何初始化vue_vue data恢复初始化数据的实现方法
  4. 关闭tomact被占用的进程
  5. 使用Python,OpenCV,面部标志进行面部对齐
  6. 深蓝学院的深度学习理论与实践课程:第一章
  7. 在PHP中给表格加上css样式,表格CSS样式设置 给table表格设置CSS样式表
  8. LeetCode刷题记录2——217. Contains Duplicate(easy)
  9. python3 多线程_图解|为什么 Python 多线程无法利用多核
  10. 《中国式方案秘籍(下部)》