2023年6月21日发(作者:)
连接数据库⽅法 到今天为⽌,已经和数据库打过⽆数交道了,但直到现在才明⽩数据库是如何就和客户端建⽴了连接,怎么就可以把数据库的数据传递到客服端或客户端数据是如何就把元数据存到了数据库中【数据库与客户端的连接】 其实⽤到了,是.NET平台专门⽤以存取后端数据库与进⾏数据操作的⼀组类。它提供两个核⼼组件:DataSet和.NET数据提供程序,.NET数据提供程序包括apter对象在内的组件【数据库的连接】 对数据库进⾏操作,⾸先要连接数据库,⽤SqlConnection类创建连接对象,与数据库建⽴连接之后,就是对数据库的操作,此时⽤SqlCommand创建command对象,此时才代表可以对数据库进⾏操作了,操作之后要把操作的结构返回客户端,⽤到DataAdapter,DataAdapter相当于DataAdapter与DataSet之间的桥梁,通过它可以获取和保存数据,然后把数据送到客户端需要载体,⽤到DataSet。此时对数据库的整个操作已完成实例讲解:⼩偷通过路线(Sqlconnection)找到了⽬标A家,打开A家的门(SqlCommand),进⾏检索要偷的东西,然后把拿⾛(DataReader)要偷的东西(DataReader),通过汽车(DataAdapter)把东西运到了⾃⼰的家⾥(DataSet)。这⼏个相当于⼩偷偷盗的⼀整套⽅案,缺⼀不可,缺⼀个步骤,也拿不⾛物品。【.Net数据提供程序】.Net数据提供程序⼜分为:SQL 数只适⽤于SQL据提供程序Server数据库OLE 数据提供程序使⽤于所有的数据库【SQLConnection类】常⽤⽅法:Open:打开数据库连接Close:关闭数据库连接常⽤属性:ConnectionString:设置打开SQL Server数据库的字符串State:判断数据库的连接状态:Broken、Closed、Connecting、Fetching、openDataSource:要连接的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对象中每个插⼊⾏、更新⾏或删除⾏分别调⽤Command,将DataSet中更改的内容更新到初始的数据源中【DataReader】其实DataReader是⼀个读取数据库的指针,从数据库中表的上⾯往下⼀⾏⼀⾏的对常⽤属性“FieldCount:读取的⼀⾏数据中的字段数常⽤⽅法:read():让记录指针指向本结果集中的下⼀条记录,返回值为boolGetValue(该⾏对应列的索引值int):因为不知道对应列的数据类型,所以返回类型是object类型,需要强制转换,只有开始read()读后,才能进⾏此⽅法,先读后取获得指定字段:此⽅法必需提前直到要获取字段的类型,GetString(索引值)、GetInt32(索引值)等【DataSet】DataSet相当于内存中暂存的⼀个数据库,不仅包括多张表,还包括数据表之间的约束包括多个⼦类,其中最常见的有⼀下⼏个:DataRow:数据表,⽤来存储数据,⼀个数据集可包含多张表DataRow:数据⾏,数据表中的⼀⾏记录DataColumn:数据列,数据表中的⼀列记录【数据库基本操作】其实对数据库的操作⼤致可以分为两类,⼀类是:增删改;另⼀类是:查1.查建⽴数据库连接对象,且建⽴command对象SqlConnection con = new SqlConnection("server=.;database=Vote;uid=sa;pwd=123456");//建⽴数据库连接对象();//打开连接SqlCommand cmd = new SqlCommand("select * from voteMaster where voteSum>=@voteSum", con);//建⽴command对象SqlParameter para = new SqlParameter("@voteSum", ); = 1;(para);//添加参数a>如果想使⽤适配器的selectCommand进⾏查询,代码如下:SqlDataAdapter sda = new SqlDataAdapter();//声明适配器对象Command = cmd;DataSet ds = new DataSet();(ds, "vote");DataTable dt = ["vote"];DataRow dr = [0];//取出查询结果中的第⼀⾏(dr["voteTitle"].ToString());//页⾯显⽰第⼀⾏对应列的值b>如果想获得查询结果第⼀⾏第⼀列的值,代码如下:(eScalar());c>使⽤DataReader对象,⼀⾏⼀⾏的读取查询结果,并获得相应列的指SqlDataReader sdr=null;sdr = eReader();while (()){ (ng(ue(1)));
}2.增删改使⽤ExecuteNonQuery()执⾏增删改,返回受影响⾏数eNonQuery();【总结】 对数据库的操作其实就关键的⼏条语句,弄清他们的作⽤,和练习,写起来就容易多了
2023年6月21日发(作者:)
连接数据库⽅法 到今天为⽌,已经和数据库打过⽆数交道了,但直到现在才明⽩数据库是如何就和客户端建⽴了连接,怎么就可以把数据库的数据传递到客服端或客户端数据是如何就把元数据存到了数据库中【数据库与客户端的连接】 其实⽤到了,是.NET平台专门⽤以存取后端数据库与进⾏数据操作的⼀组类。它提供两个核⼼组件:DataSet和.NET数据提供程序,.NET数据提供程序包括apter对象在内的组件【数据库的连接】 对数据库进⾏操作,⾸先要连接数据库,⽤SqlConnection类创建连接对象,与数据库建⽴连接之后,就是对数据库的操作,此时⽤SqlCommand创建command对象,此时才代表可以对数据库进⾏操作了,操作之后要把操作的结构返回客户端,⽤到DataAdapter,DataAdapter相当于DataAdapter与DataSet之间的桥梁,通过它可以获取和保存数据,然后把数据送到客户端需要载体,⽤到DataSet。此时对数据库的整个操作已完成实例讲解:⼩偷通过路线(Sqlconnection)找到了⽬标A家,打开A家的门(SqlCommand),进⾏检索要偷的东西,然后把拿⾛(DataReader)要偷的东西(DataReader),通过汽车(DataAdapter)把东西运到了⾃⼰的家⾥(DataSet)。这⼏个相当于⼩偷偷盗的⼀整套⽅案,缺⼀不可,缺⼀个步骤,也拿不⾛物品。【.Net数据提供程序】.Net数据提供程序⼜分为:SQL 数只适⽤于SQL据提供程序Server数据库OLE 数据提供程序使⽤于所有的数据库【SQLConnection类】常⽤⽅法:Open:打开数据库连接Close:关闭数据库连接常⽤属性:ConnectionString:设置打开SQL Server数据库的字符串State:判断数据库的连接状态:Broken、Closed、Connecting、Fetching、openDataSource:要连接的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对象中每个插⼊⾏、更新⾏或删除⾏分别调⽤Command,将DataSet中更改的内容更新到初始的数据源中【DataReader】其实DataReader是⼀个读取数据库的指针,从数据库中表的上⾯往下⼀⾏⼀⾏的对常⽤属性“FieldCount:读取的⼀⾏数据中的字段数常⽤⽅法:read():让记录指针指向本结果集中的下⼀条记录,返回值为boolGetValue(该⾏对应列的索引值int):因为不知道对应列的数据类型,所以返回类型是object类型,需要强制转换,只有开始read()读后,才能进⾏此⽅法,先读后取获得指定字段:此⽅法必需提前直到要获取字段的类型,GetString(索引值)、GetInt32(索引值)等【DataSet】DataSet相当于内存中暂存的⼀个数据库,不仅包括多张表,还包括数据表之间的约束包括多个⼦类,其中最常见的有⼀下⼏个:DataRow:数据表,⽤来存储数据,⼀个数据集可包含多张表DataRow:数据⾏,数据表中的⼀⾏记录DataColumn:数据列,数据表中的⼀列记录【数据库基本操作】其实对数据库的操作⼤致可以分为两类,⼀类是:增删改;另⼀类是:查1.查建⽴数据库连接对象,且建⽴command对象SqlConnection con = new SqlConnection("server=.;database=Vote;uid=sa;pwd=123456");//建⽴数据库连接对象();//打开连接SqlCommand cmd = new SqlCommand("select * from voteMaster where voteSum>=@voteSum", con);//建⽴command对象SqlParameter para = new SqlParameter("@voteSum", ); = 1;(para);//添加参数a>如果想使⽤适配器的selectCommand进⾏查询,代码如下:SqlDataAdapter sda = new SqlDataAdapter();//声明适配器对象Command = cmd;DataSet ds = new DataSet();(ds, "vote");DataTable dt = ["vote"];DataRow dr = [0];//取出查询结果中的第⼀⾏(dr["voteTitle"].ToString());//页⾯显⽰第⼀⾏对应列的值b>如果想获得查询结果第⼀⾏第⼀列的值,代码如下:(eScalar());c>使⽤DataReader对象,⼀⾏⼀⾏的读取查询结果,并获得相应列的指SqlDataReader sdr=null;sdr = eReader();while (()){ (ng(ue(1)));
}2.增删改使⽤ExecuteNonQuery()执⾏增删改,返回受影响⾏数eNonQuery();【总结】 对数据库的操作其实就关键的⼏条语句,弄清他们的作⽤,和练习,写起来就容易多了
发布评论