国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Asp.Net、Ado.net 數據庫編程超級攻略

2019-11-18 16:32:49
字體:
來源:轉載
供稿:網友

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.VeVb.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);
   }  
  }
 }
}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 南昌市| 三原县| 石泉县| 聂荣县| 兴文县| 万安县| 吴忠市| 项城市| 广宁县| 达孜县| 玛多县| 龙井市| 突泉县| 台东市| 碌曲县| 乌鲁木齐市| 互助| 区。| 宁津县| 本溪市| 丹凤县| 临西县| 玉门市| 耒阳市| 阜新市| 漳浦县| 靖西县| 苍溪县| 盐津县| 托里县| 玛沁县| 滨州市| 乌拉特后旗| 罗山县| 喀什市| 河北省| 遵义县| 西乡县| 高雄市| 榆社县| 汾阳市|