亲密接触ASP.Net(6)

关于Namespace(命名空间)的使用

在前面的程序中我们看到,我常用<%@ Import Namespace =“ System.Data”%>,这是在引用M $为我们提供的命名空间,这和ASP不同的,我们在ASP.net必须先引用与我们操作有关的Namespace后才能使用相应的功能。实际上说白了,一个Namespace; 就是一个组件。这个是关于ASP.net的高级应用,我会在后面的章节讲讲。(不过要写到那里,时间......)

我下面简单的双人床一些常用的命名空间

<%@ 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“%>处理文件时用到
<%@导入名称空间=” System.Web.Util“%>发邮件时大家会用到
<%@输入名称空间=” System.Text“%>文本编码时用到

操作数据库需要的东东

讲解了Namespace,我们可以正式来讨论数据库的应用了。从上面的可以裁剪,我们操作数据库,我们需要引用下面两个Namespace

<%@导入命名空间=“ System.Data”%> 
<%@导入命名空间=“ System.Data.SQL”%>

其实System.Data.SQL可以使用System.Data.SQL来代替,SQL是SQL Server专用,ADO可以支持任何数据库(只要在主机上存在相应的驱动就行了,如Access,Mysql,Oracle之类的),这里由于飞刀的数据库是SQL Server,本来可以用ADO,但是想想M $单独把SQL独立出来,为什么不用呢。至于它能带来很多好处,飞刀没有测试过,对SQL Server肯定要比ADO好一点啦。

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

Connections链接到一个数据库,刹车在后面的应用(类似ADO中的Connections)
命令执行SQL语句的地方
DataReader读取执行后返回的数据内容
DataSet存储数据,功能强大,我们会具体讲解
DataSetCommand执行SQL语句,并把数据存入DataSet

扫描二维码关注公众号,回复: 9864887 查看本文章

这里面可能最难理解的就是DataSet,我们先不去管他,先拿软的开刀

连接(SQLConection或ADOConnection)

它的主要任务就是建立一个与数据库服务器的联结

<%@页面语言=“ C#”%> 
<%@导入名称空间=“ System.Data”%> 
<%@导入名称空间=“ System.Data.SQL”%> 
<脚本语言=“ C#” Runat =“服务器“> 
public void Page_Load(Object src,EventArgs e)

stringstrProvider =” server = localhost; uid = sa; pwd =; database = aspcn“; 
SQLConnection MyConnection =新的SQLConnection(strProvider); 

</ script>

上面我们建立了一个名为MyConnection的联结,就好像我们在ASP中用ADODB.Connection打开了一个联结。这个联结我们在Command或DataSetCommand中将会使用。

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

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


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

命令(SQLCommand或ADOCommand)

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

<%@页面语言=“ C#”%> 
<%@导入命名空间=“ System.Data”%> 
<%@导入命名空间=“ System.Data.SQL”%> 
<脚本语言=“ C#” Runat =“ Server “> 
public void Page_Load(Object src,EventArgs e)

stringstrProvider =” server = localhost; uid = sa; pwd =; database = aspcn“; 
字符串strIndex =“ select * from aspcn where purview ='webmaster'”; 
SQLConnection MyConnection =新的SQLConnection(strProvider); 
SQLCommand MyCommand =新的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”; 
字符串strIndex =“ select * from aspcn where purview ='webmaster'”; 
SQLConnection MyConnection =新的SQLConnection(strProvider); 
SQLCommand MyCommand =新的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)的,这样的文本
参数操作存储过程时使用
Execute()执行SQL语句或存储过程
ExecuteNonQuery()同上,区别在于不返回记录集
Clone()克隆命令


同样看一个例子:


字符串mySelectQuery =“ SELECT * FROM Categories ORDER BY CategoryID”; 
stringmyConnectString =“ userid = sa; password =; database = northwind; server = mySQLServer”; 
SQLCommand myCommand =新的SQLCommand(mySelectQuery); 
myCommand.ActiveConnection =新的SQLConnection(myConnectString); 
myCommand.CommandTimeout = 15; 
myCommand.CommandType = CommandType.Text; </ FONT>广州代孕[电13802269370]  北京代孕咨询电13802269370   代孕[微13802269370]+

猜你喜欢

转载自www.cnblogs.com/bbc2020/p/12503765.html