增删改查_使⽤C#进⾏数据库增删改查(⼀)
这节讲⼀下如何使⽤C#进⾏数据库的增删改查操作,本节以SQL Server数据库为例。
.NET 平台,使⽤ADO.NET 作为与数据库服务器的桥梁,我们通过ADO.NET就可以使⽤C#语⾔操作数据库,它的命名空间在
System.Data下,要访问SQL Server数据库,就要引⽤其下的System.Data.SqlClient空间,若使⽤别的数据库,就要下载对应的包。例
如,访问MySql数据库就要下载MySql.Data包。
我们⽤C#连接数据库,⾸先要连接数据库,连接数据库使⽤的类是SqlConnection,
它需要⼀个连接字符串,这个连接字符串包含服务器地址,数据库名称,⽤户名,密码,或者指⽰为Windows⾝份登录。它有多种表⽰形
activex控件被阻止了怎么办式,⼀般我使⽤如下的形式:
string connString = "server=.;database=student;user id=sa;password=123456";
这种形式⽐较好记,server是服务器地址,⼀个点代表本机,你也可以写ip地址,访问别的机器,database是数据库名称,user id是⽤
户名,⼀般是sa,password(可以简写为pwd)是密码。
了解了这两个元素,就能连接数据库了,代码如下:
SqlConnection connection = new SqlConnection (connString);//注意,此时还没有真正连接,我们需要调⽤open()⽅法,打开连接connection.Open();
连接到数据库后,我们就可以进⾏下⼀步执⾏sql语句了,sql语句的执⾏需要依赖SqlCommond这个类。SqlComand这个类需要传⼊
sql语句和连接对象,代码如下:
SqlCommand command=new SqlCommand("此处是sql语句",connection);
在将具体的增删改查之前,我们还要了解⼀个类叫SqlParameter,⼀个SqlParameter就是⼀个键值对,它的键是sql语句中的变量,值
是就是执⾏sql时的实际的数据,具体声明如下:
dialogue音节SqlParameter parameters = new SqlParameter("@sname", "张三");
( sql语句中变量以@开头,如果不熟悉sql这个语⾔,可以留意我后期的⽂章。)
以下是Student数据库的StudentInfo数据表中的所有数据,增删改查的演⽰都会基于此表:
查询操作:
接下来我们演⽰⼀下查询,查询李四的所有信息,代码如下:
SqlParameter[] parameters = new[] { new SqlParameter ("@sname", "李四"), };string sql="select SID,SName,SGender from StudentInfo where SName=@sname " 我们在执⾏查询时,会先创建⼀个实体对象,⼀个实体对象对应数据库中的⼀⾏数据。
执⾏查询操作,需要调⽤SqlCommand的ExecuteReader()⽅法,改⽅法返回⼀个SqlDataReader对象,通过这个对象,我们可以获
取数据,它的两个常⽤属性的⽤法在代码注释中已写出,下⾯着重介绍Read()⽅法和GetXxx()⽅法。
如果有数据,SqlDataReader中的指针就指向第0⾏,我们需要调⽤Read()⽅法,将指针下移,如果下⼀⾏不为空,该⽅法返回true,
否则返回false。在获取数据时,我们可以根据列数(列数从0开始)和对应的数据类型准确获取到数据,如:SID它是⼀个int类型,在第⼀
ios如何查看tooltipmysql面试题 增删改查列,我们就可以使⽤GetInt32(0)来获取到这个数据。另外,我们还可以通过列名去访问:如reader["SID"],这样就会获取到当前这⼀⾏中
列名为SID的数据。char类型指针占几个字节
使⽤using是为了运⾏结束后可以及时的释放掉资源,防⽌内存泄漏。
以上代码的运⾏结果为:
插⼊,更新,删除:
把这三个放在⼀块是因为这三个在代码表现层⾯是⼀致的,都是调⽤SqlCommand的ExecuteNonQuery()⽅法,该⽅法返回int类型的
数据,也就是受影响的⾏数,下⾯以执⾏插⼊的代码为例:
SqlParameter[] parameters = new[] { new SqlParameter ("@sname", "王五"), new SqlParameter ("@sid",20200003), new SqlParameter ("@sgender",2), };s 删除和更新也是⼀样的,只不过是sql语句不⼀样,此处不再赘述。
执⾏聚合函数:
SqlCommand类提供了⼀个ExecuteScalar()来执⾏聚合函数,聚合函数的返回值是不固定的,所以这个⽅法的返回值是object,⽤法
也是类似,返回的这个object值就是查询的结果,我们可以拆箱为对应的数据类型进⾏使⽤。
⼀般我们会将这些操作封装成⼯具类,从⽽简化代码,下⾯贴出我⾃⼰写的⼀个sql⼯具类,读者可以⾃⾏拷贝学习、使⽤。
static class ADOUtils{ private static SqlConnection connection = null; /// /// 连接数据库 /// ///
数据库连接字符串 /// 是否连接成功 bool public static boo 本节到此结束,下节讲对数据库的⼀些⾼级操作...
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论