亲密接触ASP.Net(6)
程序员文章站
2022-04-18 09:04:03
关于namespace(命名空间)的使用
在前面的程序中我们看到,我常用<% @ import namespace="system.data" %&...
关于namespace(命名空间)的使用
在前面的程序中我们看到,我常用<% @ import namespace="system.data" %>,这是在引用m$为我们提供的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之类的),这里由于飞刀的数据库是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=cn";
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;< /font >
在前面的程序中我们看到,我常用<% @ import namespace="system.data" %>,这是在引用m$为我们提供的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之类的),这里由于飞刀的数据库是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=cn";
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;< /font >
上一篇: 有趣的动态图片,看后我吃一大惊!糗爆了!
下一篇: 亲密接触ASP.Net(4)
推荐阅读
-
ASP.NET在线文本编辑控件的使用(第6节)
-
解读ASP.NET 5 & MVC6系列教程(1):ASP.NET 5简介
-
解读ASP.NET 5 & MVC6系列教程(2):初识项目
-
解读ASP.NET 5 & MVC6系列教程(3):项目发布与部署
-
解读ASP.NET 5 & MVC6系列教程(4):核心技术与环境配置
-
解读ASP.NET 5 & MVC6系列教程(7):依赖注入
-
解读ASP.NET 5 & MVC6系列教程(9):日志框架
-
解读ASP.NET 5 & MVC6系列教程(5):Configuration配置信息管理
-
解读ASP.NET 5 & MVC6系列教程(8):Session与Caching
-
解读ASP.NET 5 & MVC6系列教程(12):基于Lamda表达式的强类型Routing实现