科技信息
○IT技术论坛○
SCIENCE&TECHNOLOGYINFORMATION
2008年
第5期
SQL
查询在ASP.
NET环境下的应用
汤小波(重庆三峡职业电子与信息工程系重庆万州
404001)
摘要】本文主要介绍了在开发动态网站时如何实现动态交互功能,SQL查询在数据库交互中的实现思想、方法和策略,并通过一个实例【作了具体的介绍。关键词】【SQL查询;对象;数据库
开发人ASP.NET是Mricrosoft公司推出的新一代WEB开发构架。员可以通过ASP.NET实现动态网站的开发。而开发动态网站必然涉及到对数据库的操作,SQL查询语句是专门对数据库进行操作的语句,故如何在ASP.NET环境下使用SQL查询就显得尢为重要。
3.使用SQL查询
3.1建立SQL查询的基本思路第一步:利用.NET提供
程序的Connection对象建立到数据库的
连接。设以SQLServer中的Pubs数据库为例,欲建立与之关联的数据连接其方法如下:stringstrcon="server=.;database=pubs;uid=sa;pwd=;"//构建连接字符串SqlConnectioncon=newSqlConnection();//创建连接对象
1.
常用SQL查询简介
1.1数据库的操作语句创建数据库:Createdatabasedatabase_name使用数据库:usedatabase_name如下语句创建了一个student1的数据库,并打开它。createdatabasestudent1usestudent11.2表操作语句表的创建:createtabletable_name(column_name1data_type[null|notnull]
……
con.ConnectionString=strcon;//con.Open();//打开连接第二步:利用Command对象实现SQL查询利用Command对象的CommandText属性构建查询字符串,根据SQL查询语句的特点选择不同的执行方法。3.2SQL查询执行方法一:使用ExecuteNonQuery方法,执行不需要返回值的操作。在上述连接的数据库中,对表authors增加一条记录,实现过程如
下:
)
如下语句在数据库student1中创建一个学生信息表stud_info.createtablestud_info(xhvarchar(10)notnull,xmvarchar(10),xb
varchar(2))
表记录的增删改Insert插入语句:Insertinto<表名>[(<字段1>[,<字段2>…])]Values(<常量1>[,<常量2>…])update修改语句:Update<表名>Set<字段1>=<表达式1>[,Set<字段2>=<表达式2>[…][where<条件>]delete删除语句:DeleteFrom表名[where<条件>]1.3数据查询语句Select语句的基本格式Select字段名
列表From数据表名[where筛选条件]如下查询是在一教师库的教师表中查询职称是讲师的教师的姓名、年龄和工资:讲师”Select,年龄,工资from教师where职称=“
SqlCommandcmd=newSqlCommand();//创建一个命令对象//构建SQL查询语句Stringstrinsert="insertint
oauthors(au_id,au_lname,au_fname,phone,city,contract)values('111-11-1111','tang','hong','023-58800163','chongqing',1)";cmd.CommandText=strinsert;//设置命令对象的CommandText属性cmd.Connection=con;cmd.ExecuteNonQuery();//执行查询语句3.3SQL查询执行方法二:执行返回单值的select查询在SQL查询语句中,select语句的查询结果有时是需要得到一个单值,如count(),sum()等,此时可利用Command命令对象的ExecuteScalar方法。例如数据库中有一个用户登录的用户表login,有两个字段,用户2.ADO.NET对象模型简介在ASP.NET环境下要实现对数据库的操作,必须要用到Microsoft名user和密码pass
word,登录窗体上有两个文本框分别是在.NET平台上推出的最新数据库访问技术ADO.NET,它有两个核心TxtUserName和TxtUserPassword,判断用户登录是否成功,遇可用如下SQL查询来实现。组件:.NET数据提供程序和DataSet。Stringname=this.TxtUserName.text;.NET数据提供程序模型提供了四个核心对象:Connection、Stringpassword=this.TxtUserPassowrd.text;Command、DataReader和DataAdapter对象。对象及功能如下://构建SQL查询语句2.1Connection对象:建立与数据库的连接。”’Stringselectstr=”selectcount(*)fromloginwhereuser=’+name+”2.2Command对象:可以用来对数据库执行一个SQL查询语句或”’存储过程。SqlCommand类的CommandText属性用于获取或设置要对andpassword=’+password+””SqlCommandcmd=newSqlCommand(selectstr,con);数据源执行的SQL语句或存储过程。该对象提供以下几个基本方法IntI=(int)cmd.executeScalar();//执行SQL查询产生一个单值送到来执行命令。变量I中ExecuteNonQuery:可以通过该命令来执行不需要返回值的操作,//根据I值可判断是否登录成功例如:Update,。Insert、Delete等SQL命令。该命令不返回任何行,而只3.4SQL查询执行方法三是返回执行该命令时所影响到的表行数。使用ExecuteReader方法,执行select查询语句,产生一个记录ExecuteScalar:它可以执行Select查询,但返回的是一个单值,多集。用于查询聚合值的情况,如使用Count()或sum()函数的SQL命令。如对上述pubs库中的表authors,要查询所有的数据,并通过ExecuteReader:该方法返回一个DataReader对象,内容为与命令dataGrid控件显示出来,实现如下:匹配的所有行。SqlCommandcmd=newSqlCommand();2.3DataReader对象:从数据源中读取向前的只读的简易数据集。cmd.CommandText="select*fromauthors";2.4DataAdapter对象:取得数据并且在数据与DataSet之间建立一cmd.Connection=con;座桥梁。