午夜国产狂喷潮在线观看|国产AⅤ精品一区二区久久|中文字幕AV中文字幕|国产看片高清在线

    數據庫開發(fā)個人總結(ado.net小結)
    來源:易賢網 閱讀:898 次 日期:2014-12-10 11:37:35
    溫馨提示:易賢網小編為您整理了“數據庫開發(fā)個人總結(ado.net小結)”,方便廣大網友查閱!

    一。用sqlconnection連接sql server

    1加入命名空間

    using system.data.sqlclient;

    2.連接數據庫

    sqlconnection myconnection = new sqlconnection();

    myconnection.connectionstring = user id=sa;password=sinofindb;initial catalog=test;data source=127.0.0.1;connect timeout=30;

    myconnection.open();

    改進(更通用)的方法:

    string mysqlconnection=user id=sa;password=sinofindb;database =test;data source=127.0.0.1;connect timeout=30;

    sqlconnection myconnection = new sqlconnection(mysqlconnection);

    myconnection.open();

    二。用oledbconnection連接

    1.加入命名空間

    using system.data.oledb;

    2.連接sql server

    string mysqlconnection=provider=sqloledb;data source=localhost;initial catalog=test;integrated security=sspi;;

    sqlconnection myconnection = new sqlconnection(mysqlconnection);

    myconnection.open();

    3.連接access(可通過建立。udl文件獲得字符串)

    string mysqlconnection=provider=microsoft.jet.oledb.4.0;data source=c:db2000.mdb;

    persist security info=false;

    4.連接oracle(也可通過oracleconnection連接)

    string mysqlconnection=provider=msdaora;data source=db; user id=sa;password=sinofindb;

    三。創(chuàng)建command對象

    1.sqlcommand 構造函數

    ①初始化 sqlcommand 類的新實例。public sqlcommand();

    sqlcommand mycommand = new sqlcommand();

    ②初始化具有查詢文本的 sqlcommand 類的新實例。public sqlcommand(string);

    string myselectquery = select * from mindata;

    sqlcommand mycommand = new sqlcommand(myselectquery);

    ③初始化具有查詢文本和 sqlconnection 的sqlcommand類實例。

    public sqlcommand(string, sqlconnection);

    string myselectquery = select * from mindata;

    string myconnectstring = user id=sa;password=;database=test;server=mysqlserver;

    sqlconnection myconnection = new sqlconnection(myconnectstring);

    sqlcommand mycommand = new sqlcommand(myselectquery,myconnection);

    ④初始化具有查詢文本、sqlconnection 和 transaction 的 sqlcommand 類實例。

    public sqlcommand(string, sqlconnection, sqltransaction);

    sqltransaction mytrans = myconnection.begintransaction();

    string myselectquery = select * from mindata;

    string myconnectstring = user id=sa;password=;database=test;server=mysqlserver;

    sqlconnection myconnection = new sqlconnection(myconnectstring);

    sqlcommand mycommand = new sqlcommand(myselectquery,myconnection, mytrans);

    2.建立sqlcommand與sqlconnection的關聯。

    mycommand.connection = myconnection;

    或者:sqlcommand mycommand = myconnection.createcommand;

    3.設置sqlcommand的查詢文本。

    mycommand.commandtext = select * from mindata;

    或者第2種構造:sqlcommand mycommand = new sqlcommand(myselectquery);

    給sqlcommand對象提供兩個查詢字符串,每個查詢字符串訪問不同的表,返回不同的結果集。

    兩個查詢語句用分號分隔。

    4. 執(zhí)行命令。

    executereader

    返回一行或多行

    executenonquery

    對 connection 執(zhí)行 transact-sql 語句并返回受影響的行數(int)

    executescalar

    返回單個值(如一個聚合值)。返回結果集中第一行的第一列。忽略額外的列或行

    executexmlreader

    將 commandtext 發(fā)送到 connection 并生成一個 xmlreader 對象。

    sqldatareader myreader = mycommand.executereader();

    或sqldatareader myreader = mycommand.executereader(commandbehavior.closeconnection);

    while(myreader.read()) //循環(huán)讀取數據

    {

    console.writeline(myreader.getstring(0));// 獲取指定列的字符串形式的值

    console.writeline(myreader. getvalue(1));// 獲取以本機格式表示的指定列的值

    }

    commandtext = select count(*) as numberofregions from region;

    int count = (int) mycommand.executescalar();

    關于oledbcommand對象的使用。

    四。datareader的使用

    1.遍歷結果集

    while (myreader.read())

    console.writeline({0}{1}, myreader.getint32(0), myreader.getstring(1));

    myreader.close();

    2.使用序數索引器。

    while (myreader.read())

    console.writeline({0}{1}, myreader[0].tostring(), myreader[1].tostring());

    myreader.close();

    3.使用列名索引器。

    while (myreader.read())

    console.writeline({0}{1}, myreader[code].tostring(), myreader[name].tostring());

    myreader.close();

    4.使用類型訪問器。

    public char getchar(int i); 獲取指定列的單個字符串形式的值

    public datetime getdatetime(int i); 獲取指定列的 datetime 對象形式的值

    public short getint16(int i); 獲取指定列的 16 位有符號整數形式的[c#]

    public string getstring(int i); 獲取指定列的字符串形式的值

    5.得到列信息。

    myreader.fieldcount 獲取當前行中的列數

    myreader.getfieldtype(序號) 獲取是對象的數據類型的 type

    myreader.getdatatypename(序號) 獲取源數據類型的名稱

    myreader.getname(序號) 獲取指定列的名稱

    myreader.getordinal(序號) 在給定列名稱的情況下獲取列序號

    6.得到數據表的信息。

    myreader.getschematable() 返回一個 datatable

    7.操作多個結果集。

    myreader.nextresult() 使數據讀取器前進到下一個結果集

    do

    {

    while (myreader.read())

    console.writeline({0}{1}, myreader.getint32(0), myreader.getstring(1));

    }

    while(myreader.nextresult());

    五。dataadapter

    1.創(chuàng)建sqldataadapter

    初始化 sqldataadapter 類的新實例。

    public sqldataadapter();

    將指定的 sqlcommand 作為selectcommand 屬性,初始化 sqldataadapter 類的新實例。

    public sqldataadapter(sqlcommand);

    用 selectcommand字符串 和 sqlconnection對象初始化sqldataadapter 類的新實例。

    public sqldataadapter(string, sqlconnection);

    用 selectcommand字符串 和 一個連接字符串 初始化sqldataadapter 類的新實例。

    public sqldataadapter(string, string);

    2.dataadapter和sqlconnection,sqlcommand建立關聯。

    1.dataadapter在構造參數時建立

    2.sqldataadapter adapter = new sqldataadapter();

    adapter.selectcommand = new sqlcommand(query, conn);

    3.dataadapter.fill()方法。

    在 dataset 中添加或刷新行以匹配使用 dataset 名稱的數據源中的行,并創(chuàng)建一個名為table的 datatable.

    public override int fill(dataset);

    在 dataset 中添加或刷新行以匹配使用 dataset 和 datatable 名稱的數據源中的行。

    public int fill(dataset, string);

    在 dataset 的指定范圍中添加或刷新行以匹配使用 dataset 和 datatable 名稱的數據源中的行。

    public int fill(dataset, int, int, string);

    在 datatable 中添加或刷新行以匹配使用 datatable 名稱的數據源中的行。

    public int fill(datatable);

    在 datatable 中添加或刷新行以匹配使用指定 datatable 和 idatareader 名稱的數據源中的行。

    protected virtual int fill(datatable, idatareader);

    在 datatable 中添加或刷新行以匹配使用 datatable 名稱、指定的 sql select 語句和 commandbehavior 的數據源中的行。

    protected virtual int fill(datatable, idbcommand, commandbehavior);

    六。datatable 類

    七。datacolumn 類

    八。datarow 類

    九。dataset 類

    1.創(chuàng)建dataset 對象

    初始化 dataset 類的新實例。

    public dataset();

    用給定名稱初始化 dataset 類的新實例。

    public dataset(string);

    2.用dataadapter填充dataset

    dataset myds=new dataset();

    adapter.fill(myds)

    adapter.fill(myds,表名); 用一個表去填充dataset.

    十。 datatablecollection 類:表示 dataset 的表的集合。

    datatablecollection dtc = ds.tables;

    datatable table = dtc[表名];

    string strexpr = id > 5;

    string strsort = name desc;

    datarow[] foundrows = customertable.select( strexpr, strsort,);

    進行動態(tài)的篩選和排序。

    datatable.select() 方法 : 獲取 datarow 對象的數組,

    ①獲取所有 datarow 對象的數組。

    public datarow[] select();

    ②按主鍵順序(如沒有主鍵,則按照添加順序),獲取與篩選條件相匹配的所有 datarow 對象的數組。

    public datarow[] select(string);

    ③獲取按照指定的排序順序且與篩選條件相匹配的所有 datarow 對象的數組。

    public datarow[] select(string, string);

    ④獲取與排序順序中的篩選器以及指定的狀態(tài)相匹配的所有 datarow 對象的數組。

    public datarow[] select(string, string, dataviewrowstate);

    十一。dataview 類 : 是datatable內容的動態(tài)視圖。

    1. 創(chuàng)建對象

    初始化 dataview 類的新實例。

    public dataview();

    用指定的 datatable 初始化 dataview 類的新實例。

    public dataview(datatable);

    用指定的 datatable、rowfilter、sort 和 dataviewrowstate 初始化 dataview 類的新實例。

    public dataview(datatable, string, string, dataviewrowstate);

    dataview myview = new dataview(ds.tables[suppliers], id > 5, name desc,

    dataviewrowstate.currentrows);

    2 .得到dataview的行數據。

    foreach (datarowview myrowview in myview)

    {

    for (int i = 0; i < myview.table.columns.count; i++)

    console.write(myrowview [i] + );

    console.writeline();

    }

    更多信息請查看IT技術專欄

    更多信息請查看數據庫

    2025國考·省考課程試聽報名

    • 報班類型
    • 姓名
    • 手機號
    • 驗證碼
    關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
    工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
    聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網