您现在的位置: 网页制作教程网 >> 网络编程 >> Asp.net 教程 >> ASP.NET 开发技巧 >> 文章正文
作者:动态网站…
来源:动态网站制作指南
热度:
2007-6-3 11:17:39
Command对象中包含了提交给数据库系统的访问信息
OleDbCommand与SqlCommand对象,它们的基本对象与操作方法是相同的,在此仅介绍OleDbCommand的用法,SqlCommand的用法类推即可。
最常用初始化Command对象的方法是在建立Command实例中带入两个参数
OleDbCommand myComm=new OleDbCommand(strQuery,myConnection);
strQuery为SQL语句或储存过程名,myConnection是建立的Connection对象实例
Command对象主要的属性有
Connection:
CommandText:设置或获取Command对象使用的Connection对象实例
CommandType:StoredProceduce、TableDirect、Text(标准SQL语句)
Parameters:取得参数值集合
ExecuteReader:执行CommandText指定的SQL语句或储存过程名,返回类型为DataReader
ExecuteNonQuery:与ExecuteReader功能相同,只是返回值为执行SQL语句或储存过程受影响的记录行数
DataReader--SqlDataReader、OleDbDataReader
FieldCount:显示当前操作记录的字段总和
IsClosed:判断DataReader是否关闭
Close:关闭DataReader
GetString:以String返回指定列中的值
GetValue:以自身的类型返回指定列中的值
GetValues:返回当前记录所有字段的集合
Read:读下一条记录
例:
|
<% @ Page Language="C#" %> String myconnstring="Provider=Microsoft.Jet.OLEDB.4.0; DataSource="+Server.MapPath(".")+"..\mdb"; ds.Tables["Score"].Rows.Add(dr); |
//注:
OleDbConnection my_conn=new OleDbConnection(myconnstring);
OleDbDataAdapter my_adapter=new OleDbDataAdapter(sql,my_conn);
OleDbCommandBuilder custCB=new OleDbCommandBuilder(my_adapter);//DataAdapter在数据发生改变时,并不能自动产生(Transact- SQL),所以一定要使用CommandBuilder,它能自动产生Sql语句,!就此一步
RejectChanges是DataSet,DataTable,DataRow共有的方法
使操作对象拒绝已经发生的改变,使数据复员
| if(DataSet.HasErrors) ...{ DataSet.RejectChanges(); } else...{ DataSet.AcceptChanges();} ---------------------------------------------------------------------------------------------------------------------------------- DataReader->DataTable public static DataTable ConvertDataReaderToDataTable(SqlDataReader dataReader) ...{ /**//**//**////定义DataTable和模式 DataTable datatable = new DataTable(); DataTable schemaTable = dataReader.GetSchemaTable(); //导入一个数据表的表结构 try ...{ /**//**//**////动态添加表的数据列 foreach(DataRow myRow in schemaTable.Rows) ...{ DataColumn myDataColumn = new DataColumn(); myDataColumn.DataType = myRow.GetType(); myDataColumn.ColumnName = myRow[0].ToString(); datatable.Columns.Add(myDataColumn); } /**//**//**////添加表的数据 while(dataReader.Read()) ...{ DataRow myDataRow = datatable.NewRow(); for(int i=0;i<schemaTable.Rows.Count;i++) ...{ myDataRow[i] = dataReader[i].ToString(); } datatable.Rows.Add(myDataRow); myDataRow = null; } schemaTable = null; /**//**//**////关闭数据读取器 dataReader.Close(); return datatable; } catch(Exception ex) ...{ /**//**//**////抛出类型转换错误 SystemError.SystemLog(ex.Message); throw new Exception(ex.Message,ex); } } } } |
我来说两句:
推荐文章
相关文章