先列个列表,下面的就是常用的数据库操作的方法。

ExecuteNonQuery

释义:对链接执行的SQL语句,并返回受影响的行数(注意:用它来执行目录操作,如查询数据库的结构,创建表等数据库对象,或通过之星U,I,D语句,返回的是其影响到的行数。其他情况下返回值是-1.因为其影响到的数据库内容的行数就是-1)

ExecuteReader

释义:将CommandText属性发送到Connection对象并生成一个SqlDataReader、OdbcDataReader、OleDbDataReader或OracleDataReader结果集。

语法:

public SqlDataReader ExecuteReader();
public SqlDataReader ExecuteReader(CommandBehavior behavior);
//CommandBehavior是一个枚举值,如下
  • Default:效果如ExecuteReader()方法
  • SingleResult:查询返回一个结果集
  • KeyInfo:返回列和主键信息
  • SingleRow:查询返回一行,执行查询可能会影响数据库的状态
  • SequentialAccess:采用流的方式加载数据,然后可以使用GetBytes或GetChars方法来指定开始读取操作的字节为止以及正在返回的数据的有限的缓冲大小
  • CloseConnection:在执行该方法时,如果关闭关联的DataReader对象,则关联的对象也将会关闭

ExecuteScalar

释义:执行SQL语句并返回结果集中第一行第一列的数据

语法:public override Object ExecuteScalar();

Fill

释义:用于填充数据集。

语法:public override int Fill(DataSet dataset);

public override int Fill(DataTable dataTable);

public override int Fill(DataSet dataset ,String srcTableName);

//其中SrctableName是指用于表映射的源表的名称

示例:

//调用SqlDataAdapter对象的Fill方法填充DataSet数据集
SqlDataAdapter adapter=new SqlDataAdapter(strsql,conn);
DataSet dataset=new DataSet();
adapter.Fill(dataset);
//调用SqlDataAdapter的Fill方法填充DataTable数据集
SqlDataAdapter adapter=new SqlDataAdapter(strSQL,conn);
DataTable dataTable=new DataTable();
adapter.Fill(dataTable);
//调用SqlDataAdapter对象的Fill方法填充DataSet数据集,并指定“Student"表进行填充
SqlDataAdapter adapter=new SqlDataAdapter(strSQL,conn);
DataSet dataset=new DataSet();
adapter.Fill(dataset,"Student");

返回值:已在DataSet中成功添加的或刷新的行数,这并不包括不受返回行的语句影响的行

Merge

释义:合并数据集

1、

语法:public void Merge(DataRows[] rows);

参数:rows:要合并到DataSet的DataRow对象数组

2、

语法:public void Merge(DataTable table);

参数:table是其数据和架构江北合并的DataTable

3、

语法:public void Merge(DataSet dataset);

参数:dataset 是其数据和架构将被合并的DataSet,即将指定的dataset合并到当前的dataset数据集中。

4、

语法:public void Merge(DataSet dataset bool preserveChanges);

参数:将指定的DataSet机器架构合并到当前的DataSet中,在此过程中,将根据给定的参数保留或放弃在此DataSet中进行的任何的修改

示例:

DataSet dataset1=new DataSet();
DataSet dataset2=new DataSet();
SqlDataAdapter1=new SqlDataAdapter(strSQL1,conn);
adapter1.Fill(dataset1);
SqlDataAdapter adapter2=new SqlDataAdapter(strSQL2,conn);
adapter2.Fill(dataset2);
//使用Merge方法将两个数据集合并到一起
dataset1.Merge(dataset2,true,MissingSchemaAction.AddWithKey);
dataGridView.DataSource=dataset1.Table[0];
05-11 11:11