C#语言和SQL Server第十三 十四章笔记

十三章 使用ADO.NET访问数据库

十四章使用ADO.NET查询和操作数据库

十三章: 笔记

1:ADO.NET数据库的方法和技术

2:ADO.NET的主要组成:

1>DataSet(数据集)-----独立于数据间的数据访问

2>.NETFramework(数据提供程序)------用于连接到数据库,执行命令和检索结果

3:应用程序:

command:对象负责对数据库执行命令

DataReader:对象负责从数据库源读取数据

DataAdapter:对象负责数据集和数据库的联系

connection(桥梁):对象负责链接数据库

4:使用ADO.NET连接库的步骤:

----1:定义连接字符串:

Data source =服务器名;Initial Catalog =数据库名;User Id =用户名;Pwd =密码;

----2:创建connextion对象:

sqlConnection conn =new sqlConnection(connString)----连接字符串

----3:打开数据库的链接:

Conn.Open();

5:代码分析举例:

//定义数据库的链接字符串:
string constr =''Data Source =.;Inital Catalog =Myschool; User id =jbit;pwd =bdqn;
//创建connection对象
SQLConnection conn =new SqlConnection (constr);
//打开数据库的链接
conn.Open();
Console.writeLine(打开数据库连接成功):
//关闭数据库的链接:
conn.Close();
Console.writeLine(关闭数据库连接成功):

6:使用ExecuteScalar()方法查询单个值

command:提交SQL命令并从数据源中返回结果

command的主要成员:

属性名称 说明

Connection command对象使用的数据库连接

commandText 执行的SQL语句

方法 说明

ExecuteNonQuery 指着那个不返回的语句

ExecuteReader 返回DataReader对象

ExecuteScalar 返回多个值,如执行带Count(*)的SQL语句 ===查询多个值

7:使用command的步骤:

1:创建数据库链接 2:定义SQL语句

3:创建command对象 (常用于执行SQL语句) 4:打开链接

5:执行命令 6:关闭连接

  在执行SQL数据库之前要先打开数据库的链接 执行后要关闭链接

8:异常处理:

语法:
try{
包含可能出现错误的代码
connection。close();
}
catch(处理的异常类型)
{
处理异常代码                                                           出现异常的时候 直接跳过catch 执行finally  
                                                                              否则正常向下执行
}
finally{
无论如何都要执行的代码
}

  注意:

1:把可能会发生异常的代码放在try中执行

2:当程序发生异常的时候。跳到catch中。执行异常的代码

3:无论程序是否发生异常,finally都会被执行

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

十四章:

使用Stringbuilder类:用来定义可变字符

StringBuilder Append (string value)   在结尾追加
stringBuilder Insert(int  index string value);  在指定的位置插入指定的字符
stringbuilder Remove (int startIndex  int length )   移除字符串



  使用StringBuilder 类型的修改上述代码:
StringBuilder  sbText =new StringBuilder ();
sbTest.append(“Hello”);  实例化一个
sbTest.append(“world”); StringBuilder 对象
Console.writeLine(sbTest.Tostirng);  转换为string
Console。readLine();

使用StringBuilder类会更加节省内存空间

使用StringBuilder类会使SQL语句的可读性高

DataReader对象:

1:从数据库中检索只读 只进的数据流

2:每次读取一行数据

链接不同的数据库。命名空间不一样,使用的对象也就不一样。查询多行的数据。需要使用command 的对象

ExecuteReader()方法

1:使用connection链接的数据库

2:使用command 发送命令

3:使用datareader处理查询结果

创建对象与别的不一样:

sqlDatareader reader =comm. sqlDatareader();

----2:

Datareader的主要成员

属性 说明

Hasrows 是否返回结果

方法 说明

Read 前进道下一行的记录

close 关闭Datareader对象

----3:使用Datareader检索的数据的步骤:

1:创建command对象

2:调用 ExecuteReader()创建的read方法逐行实行读取数据

----4:对数据库的删改

1:使用connection l连接的数据库

2:使用command 发送命令

3:获得并处理执行结果

string  constr =''Datasource=。;Initial Catalog=Myschool,Integrated Securuty =True'';
sqlconnection coon=new sqlconnection (constr);
string sql ="insert.into  student values("赵六",30,’看报‘)"
sqlconnand cmd =new sqlconnand(sql ,conn);
conn.open();
int result =cnd.Executenonquery();
conn.close();
   修改:
string sql =’‘update student set stuName ="赵四",stuAge =50,stuhobby =’种地‘where stuId =4";

使用步骤:

1:创建Connection对象

2:定义SQL语句

3:创建command 对象

4:执行Executenonquery ()方法

5:根据返回结果进行处理