ASP.NET ADO.NET数据访问技术(一使用Command对象执行)

【SQLConnection类】

常用方法:

Open:打开数据库连接

Close:关闭数据库连接

常用属性:

ConnectionString:设置打开SQL Server数据库的字符串

State:判断数据库的连接状态:Broken、Closed、Connecting、Fetching、open

DataSource:要连接的SQL Server实例的名称

DataBase:要进行操作的数据库名称

 

【Command对象】

重用属性:

Connection:连接数据库,相当于与数据库有联系了,只对将对哪个数据库进行操作了

CommandText:SQL语句

CommandType:指定对数据库的操作类型或请求

CommandTimeOut:确定Command对象的Execute方法运行的最长等待时间,缺省值为30秒。

State:设置Command对象的状态

常用方法:

Execute:有两种,分别使用于不同的情况

 

ExecuteNonQuery

增删改操作

ExecuteReader

查询操作

 

【DataAdapter对象】

DataAdapter相当于DataSet和数据源之间的桥梁,应用程序通过DataAdapter对象从数据库中读取数据到DataSet中

常用属性:

SelectCommand、InsertCommand、DeleteCommadn、UpdateCommand

重用方法:

Fill:执行SelectCommand,用数据源的数据填充DataSet对象

Update:对DataSet对象中每个插入行、更新行或删除行分别调用InsertCommand.UpdateCommand.DeleteCommand,将DataSet中更改的内容更新到初始的数据源中

 

【DataReader】

其实DataReader是一个读取数据库的指针,从数据库中表的上面往下一行一行的对

常用属性“

FieldCount:读取的一行数据中的字段数

常用方法:

read():让记录指针指向本结果集中的下一条记录,返回值为bool

GetValue(该行对应列的索引值int):因为不知道对应列的数据类型,所以返回类型是object类型,需要强制转换,只有开始read()读后,才能进行此方法,先读后取

获得指定字段:此方法必需提前直到要获取字段的类型,GetString(索引值)、GetInt32(索引值)等

 

【DataSet】

DataSet相当于内存中暂存的一个数据库,不仅包括多张表,还包括数据表之间的约束

包括多个子类,其中最常见的有一下几个:

DataRow:数据表,用来存储数据,一个数据集可包含多张表

DataRow:数据行,数据表中的一行记录

DataColumn:数据列,数据表中的一列记录

--------------------- 作者:王如霜 来源:CSDN 原文:https://blog.csdn.net/wrs120/article/details/72751429?utm_source=copy 版权声明:本文为博主原创文章,转载请附上博文链接!

 

使用Connection连接数据库

方法一:

特别注意的是:web.config中integrated security=true表示可以在不知道数据库用户名和密码的情况下时,依然可以连接数据库,如果integrated security=false,或者不写,表示一定要输入正确的数据库登录名和密码。

先在web.config中,将<connectionStrings/>标记用下面代码替换
<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.5" />
    <httpRuntime targetFramework="4.5" />
  </system.web>

  <connectionStrings>
    <add name="ConnectionString" connectionString="Data Source=.(代表本地服务器localhost);Initial Catalog=asp数据库练习(数据库名字);User ID=sa;Password=123;Integrated Security=true" providerName="System.Data.SqlClient"/>
  </connectionStrings>
</configuration>

其中Data Source 表示SQL Server数据库服务器名称,AttachDbFilename表示数据库的路径和文件名,|DataDirectory|表示网站默认数据库路径App_Data。

一:
using System.Data.SqlClient;
using System.Configuration;
二:
//从web.config配置文件去除数据库连接串
string sqlconnstr = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;

三:
//建立数据库连接对象
SqlConnection sqlconn = new SqlConnection(sqlconnstr);

四:
//打开连接对象
sqlconn.Open();

五:
//SQL命令赋值
sqlcommand.CommandText = "select * from student";

六:
//建立DataReader对象,并返回查询结果
SqlDataReader sqldatareader = sqlcommand.ExecuteReader();
//获取结果集的第一行记录(0代表第一个字段的值)
while(sqldatareader.Read())
{
    //sqldatareader.GetString(0)或者sqldatareader.GetDateTime(0)
    //来获取想要获取的
}

七:
//关闭连接
sqlcommand = null;
sqlconn.Close();
sqlconn = null;

方法二:

SqlConnection con = new SqlConnection("server=.;database=Vote;uid=sa;pwd=123456");//建立数据库连接对象
con.Open();//打开连接
SqlCommand cmd = new SqlCommand("select * from voteMaster where voteSum>=@voteSum", con);//建立command对象,代表可以对数据库操作了
SqlParameter para = new SqlParameter("@voteSum", SqlDbType.Int);
para.Value = 1;
cmd.Parameters.Add(para);//添加参数

获取查询结果

使用DataReader对象,一行一行的读取查询结果,并获得相应列的值

//建立DataReader对象,并返回查询结果
SqlDataReader sqldatareader = sqlcommand.ExecuteReader();
//获取结果集的第一行记录(0代表第一个字段的值)
while(sqldatareader.Read())
{
    //sqldatareader.GetString(0)或者sqldatareader.GetDateTime(0)
    //来获取想要获取的
}

使用ExecuteNonQuery()执行增删改,返回受影响行数

sqlcommand.ExecuteNonQuery();

sql语句的一些特殊写法

//可以为特定的值添加标记如:
sqlcommand.CommandText = "insert into student(Name,Sex,birthday) values(@Name,@Sex,@birthday)";

//解释@Name,@Sex,@birthday
sqlcommand.Parameters.AddWithValue("@Name",textBox1.Text);
sqlcommand.Parameters.AddWithValue("@Sex",textBox2.Text);
sqlcommand.Parameters.AddWithValue("@birthday",textBox3.Text);

 

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值