文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Asp.Net、Ado.net 数据库编程超级攻略_ASP.NET技巧

Asp.Net、Ado.net 数据库编程超级攻略_ASP.NET技巧

时间:2010-10-13  来源:蔚蓝的大海

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#" %>
<% @ Import Namespace="System.Data"%>
<% @ Import Namespace="System.Data.OleDb"%>
-------------------------------------------
<% @ Import Namespace="System.Data.SqlClient"%>
<Script Language="c#" Runat="Server">
OleDbDataReader dr;

String myconnstring="Provider=Microsoft.Jet.OLEDB.4.0; DataSource="+Server.MapPath(".")+"..\mdb";
string sql=".."
OleDbConnection my_conn=new OleDbConnection(myconnstring);
OleDbCommand my_comm=new OleDbCommand(sql,my_conn);
my_comm.Connection.Open();
dr=my_comm.ExecuteReader();
//DataGrid dg
dg.DataSource=dr
dg.DataBind();
</Script>
<head>
<% while(dr.Read())
 ...{;}
%>
</head>
DataSet DataAdapter
DataAdapter是与DataSet配套使用的
OleDbDataAdapter my_adapter=new OleDbDataAdapter();
-------------------------------------------------
SqlDataAdapter my_sqladapter=new SqlDataAdapter();
my_adapter.SelectCommand.Connection=my_conn;

my_adapter.UpdateCommand.Connection=my_conn;
my_adapter.DeleteCommand.Connection=my_conn;
my_adapter.InsertCommand.Connection=my_conn;
如果需要执行Sql语句,那么还必须给相应的CommandText属性赋值。http://sucai.knowsky.com/
my_adapter.SelectCommand.CommandText=strSelect;
my_adapter.UpdateCommand.CommandText=strUpdate;
my_adapter.InsertCommand.CommandText=strInsert;
my_adapter.DeleteCommand.CommandText=strDelete;
如果只是查询数据库,则可以建立DataAdapter实例时就完成上述工作
OleDbDataAdapter MyAdapter=new OleDbDataAdapter(sql,my_conn);
DataSet ds=new DataSet();
OleDbConnection my_conn=new OleDbConnection(myconnstring);
OleDbDataAdapter my_adapter=new OleDbDataAdapter(sql,my_conn);
my_adapter.fill(ds,"score");
DataGrid score;
score.DataSource=ds.Table["score"].Defaultview;
score.DataBind();
//InsertCommand
DataRow dr=ds.Table["Score"].NewRow();
dr["name"]=..

ds.Tables["Score"].Rows.Add(dr);
//update
DataAdapter.Update(ds,"Score");
//modify
DataRow dr=ds.Tables["Score"].Rows[0];
dr["name"]=;
//Delete
DataRow dr=ds.Talbes["Score"].Rows[0];
dr.Delete();
//注:
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);
   }  
  }
 }
}

Replica lv Hangbags

discount Hangbags

Hangbags

Hangbags

replica handbags

replica handbags

replica handbags

handbags

replica handbags

replica handbags

replica handbags

replica handbags

replica handbags

replica handbags

replica handbags

replica handbags

replica handbags replica handbags discount designer handbags handbags handbags handbags replica handbags replica handbags replica handbags replica handbags replica handbags discount designer handbags replica handbags replica handbags replica handbags replica handbags replica handbags replica handbags replica handbags replica handbags replica handbags discount handbags replica designer handbags discount designer handbags

usb cable

usb cable

usb cable

usb cable

usb flash drives

usb flash drives

usb flash drives usb flash drives usb flash drives USB Connectors,HDMI Cable,Custom Usb Flash Drives USB Connector Replica Watches Replica Watches Replica Watches Replica designer Watches Replica Watches Replica Watches cheap Watches replica Watches replica Watches replica Watches replica Watches replica Watches
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载