C#常用数据库操作方法整理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C#常用操作数据方法整理
using System.Data.SqlClient;
//导入sql数据库命名空间,这样可以用sql数据库操作相关类
String ConnectionStr = "server=.;database=数据库名;uid=sa;pwd=123456;";
//数据库连接字符串,server确定数据库服务器名,database定义数据库名,uid定义数据库使用者用户名,pwd为密码。
SqlConnection conn = new SqlConnection(ConnectionStr);
//建立数据库连接,只有建立连接了才能操作数据。
//也可以合在一起:SqlConnection conn = new SqlConnection(“server=.;database=数据库名;
uid=sa;pwd=123456;”);
String SQLString=“”;
//数据操作语句放在双引号中,语句有增,删,改,查操作。
SqlCommand comm = new SqlCommand(SQLString, conn);
//建立数据库命令,确定sql数据操作语句,和数据库连接。
//也可以合并,SqlCommand comm = new SqlCommand(“数据库操作语句”, conn);
conn.Open();
//打开数据库,只有打开数据库,数据库命令才能被执行。
int rows = comm.ExecuteNonQuery();
SqlDataReader dr = comm.ExecuteReader(); //专门用于读取数据库数据
Object result= comm. ExecuteScalar();
//或string result= Cmd. ExecuteScalar().Tostring();
//执行数据库命令:
//ExecuteNonQuery()用于增,删,改操作,返回受影响的行数;
//ExecuteReader()用于查操作,返回一个SqlDataReader类的对象;
//comm.ExecuteScalar()执行查找,返回从数据表中查询结果的第一行第一个单元格的数据。conn.Close();
//关闭数据库连接,释放资源。否则,将一直连接数据库,别的代码无法跟数据库连接,这样别的代码无法操作数据。
SqlParameter MyParameter = new SqlParameter("@Content", SqlDbType.NText);
//sql参数:参数名为MyParameter,他对应@Content变量,该变量的值由MyParameter获得,给MyParameter赋值等于给@Content变量赋值,但无法直接给@Content变量赋值。构造函数第二个参数定义变量类型。@Content变量可用于sql操作语句。
MyParameter.Value = Content;
//给sql参数赋值。
Cmd.Parameters.Add(MyParameter);
//把sql 参数放到comm的参数列别中,这样sql参数对应的变量就能被sql语句调用了。conn.Open()
SqlDataReader dr = Cmd.ExecuteReader();
while (dr.Read())
{
//利用dr[索引] 对数据表里的数据进行操作,每次循环将读取数据表中一行数据,从上往下依次执行,直到读完为止。
// dr[索引] 返回类型为object
//可以用数据表属性列名做为索引,也可以根据select 后的属性列顺序号为索引,序号从0开始}
dr.Close();
//必须在关闭数据库前关闭数据库读命令
conn.Close();
//关闭数据库连接。
SqlDataAdapter da = new SqlDataAdapter(SQLString, conn);
//定义数据桥接器,用于向数据表中填充数据,自己完成数据库打开与关闭,不需要conn.Open()和conn.Close()
DataTable dt = new DataTable();
//定义数据表
DataSet ds = new DataSet();
//定义数据集,数据集里放多个数据表
da.Fill(ds);
//往数据集里填数据,假如数据集里没有表,将产生一个表,放在集合的最前面。也可以写成da.
Fill(ds,“表名”);这个对数据集中无论有多表还是单表都有效
da.Fill(dt);
//往数据表里填数据
//可以通过ds.Tables.Add(dt);往数据集里加数据表
//可以通过ds. Tables[索引]来获得数据表。索引可是是序号,也可以是表的别名
//dt.Rows[][].ToString(); // Rows第一个下标为数据在数据表中的行号,第二个下标为数据在那行中的列号。
// ds. Tables[索引] .Rows[][].ToString();
//有了DataTable对象,就可以生成DataView对象
//DataView dv = new DataView(dt);
//DataView dv = dt.DefaultView;
//DataView dv = ds.Tables[0].DefaultView;
DataTable dt = new DataTable("dt");
//定义DataTable对象
da.Fill(dt);
//用SqlDataAdapter对象给DataTable对象填充数据
DataView dv = new DataView(dt);
//在建立了DataTable对象的基础上定义DataView对象
dv.RowFilter = "shuxue>80 and yuwen>80";
//对查询出来的数据利用DataView对象的RowFilter属性进一步对数据进行筛选。
dv.Sort = "zongfen desc";
//对查询出来的数据利用DataView对象的Sort属性进一步对数据进行排序。
this.GridView1.DataSource = dv;
//dv作为数据源,赋值给GridView1
this.GridView1.DataBind();
//将数据源数据绑定到GridView1(winform不需要,网页中需要)
//以上可以作为数据源的有SqlDataReader对象,DataTable对象,DataSet对象,DataView对象,即可以赋值给控件的DataSource属性。
//方法贵在活用,上面涉及的类中还有别的操作方法,暂不整理。
//以下是以上方法的代表性使用