C語句中ExecuteReader 的作用RadioB

2021-04-24 07:20:39 字數 5114 閱讀 4251

1樓:夸父逐光

executereader 其實bai就是

跟據你的ducommand(裡面存放了你的sql語句和對zhi應的連線)

返回dao

一個datareader(這裡

版因為你用的是權sqlcommand所以返回的是sqldatareader)

而datareader的作用是儲存一次查詢的結果集。如果這樣不理解的話,可以簡單的理解為

datareader是一張存著你查詢的結果的表。

rbtnitems我不知道是什麼控制元件,但所有的datasource都是指資料來源,可以顧名思義一下,就是顯示(如果是顯示的控制元件)的資料從哪來。

c#中executereader是什麼意思?怎麼用?

2樓:

:executereader 方法存在的目的只有一個:儘可能快地對資料庫進行查詢並得到結果。

executereader 返回一個datareader物件:如果在sqlcommand物件中呼叫,則返回sqldatareader;如果在oledbcommand物件中呼叫,返回的是oledbdatareader。可以呼叫datareader的方法和屬性迭代處理結果集。

它是一個快速列舉資料庫查詢結果的機制,是隻讀、只進的。對sqldatareader.read的每次呼叫都會從結果集中返回一行。

c#中executereader()、executenonquery()、executescalar()方法的作用

3樓:飄零的狐狸

executereader() 一般是連線資料庫 操作查詢的 返回的是個adapter

、executenonquery() 執行資料庫 非查詢類操作、executescalar()

型別:system.object

結果集中第一行的第一列;如果結果集為空,則為空引用(在 visual basic 中為 nothing)。 返回的最大字元數為 2033 個字元。

推薦上msdn

4樓:匿名使用者

executescalar方法返回的型別是object型別,這個方法返回sql語句執行後的第一行第一列的值,由於不知到sql語句到底是什麼樣的結構(有可能是int,有可能是char等等),所以executescalar方法返回一個最基本的型別object,這個型別是所有型別的基類,換句話說:可以轉換為任意型別。

executenonquery方法是用來執行insert、delete、update語句的,由於這些語句執行後只有一個結果:「影響了**行」,所以executenonquery方法返回的是影響的行數(int)。

雖然sql中列的name本身就是字串型別,但是你通過datareader["name"]這種方式訪問這個欄位,必須強制型別轉換,因為datareader["name"]就像一個陣列,陣列中的每個元素的型別都應該一樣,所以datareader這個陣列中的元素型別也被定義為object型別,以方便轉換。

5樓:

executereader() 一般是執行查詢命令 他返回的是一個 datereader物件 這個物件可以裝載多條資料 比如(select * from 表 這個語句執行完之後 表裡面的全部資料 全部會裝在這個datereader物件裡面)

、executenonquery() 它返回這個語句執行後所受影響行數 比如(update 表 set 列=「asd」 where id=1 返回的是1 因為他更新了一條資料)

、executescalar() 它接收的是一個object型別資料 比如(select count(*) from 表 它得到的就是 這個表裡面有多少條資料)

6樓:匿名使用者

executereader 返回一個datareader, datareader 是一個只進遊標, 用於讀取表中的資料, 讀取時, 必須 要和資料庫保持連線,

executenonquery 用於執行 delete, update, insert, 語句, 返回影響行數

executescalar 只讀取首行首列

7樓:匿名使用者

executereader()讀取資料庫中的資料

executenonquery()返回資料庫操作之後影響的行數,返回int型別。

executescalar()檢索資料庫中單個值,返回object型別。

c#中的executereader方法

8樓:匿名使用者

第一個方法返回 datareader物件,這個物件可以讀取所有返回的記錄

第二個方法 返回一個object 只能取得查詢結果最左上角一個列的資料

9樓:匿名使用者

excutereader()執行查詢命令,返回datareader物件

excutescalar返回單個值,一般為執行count(*)查詢的結果數

10樓:匿名使用者

xecutereader()返回符合要求的資料行,

xecutereader()返回第一行資料的第一個欄位。

c#中的sqldatareader有什麼作用?

11樓:儀高義鈔翮

對,就是將查詢出來的結果集儲存到了sqldatareader物件中,這個物件你可以把它想象成一張虛擬表,執行一次dr.read()就會下移一行,裡面每列用dr.getstring()等方法取

12樓:匿名使用者

我想補充的一點是,sqldatareader的用處,其實主要是為了減少記憶體佔用,每次只把一行資料的內容存入記憶體,不讀取的話就基本不佔用記憶體了。但是如果用datatable來讀取,可就不是這個樣子了。

13樓:匿名使用者

它是一個讀取資料庫的指標 從資料庫中表的 上面往下一行一行的讀每讀一內行它裡面就有這個表

容這行的 所有欄位的資料的值! 相當於一個陣列裡面有很多個元素reader["messagetime"] 中括號裡面的就是這一行這個這欄位的名稱

比如這個就是讀出了 messagetime 的值! 欄位名稱要用引號引起來

14樓:匿名使用者

中括號裡面是資料庫中表的列名,引號是語言的格式,sqldatareader提供一種從 sql server 資料庫讀取行的只進流的方式。無法繼承此類。

15樓:匿名使用者

sqldatareader是一行行資料讀出,reader後面是具體讀出某行資料的某個欄位。

c#連線資料庫中的語句 datagridview1.datasource = ds.tables[0] 是什麼意思?

16樓:匿名使用者

datagridview1.datasource = ds.tables[0] 意思是:datagridview1要顯示的資料是資料集ds裡的第一張表

datagridview1.selectedrows[0].cells[0].

value.tostring()意思是:取出datagridview1裡當前選定行裡第一個單元格的資料並轉化成字元

17樓:匿名使用者

datagridview1.datasource = ds1.tables[0];//將資料集繫結datagridview,完成顯示。

通常用法都是先連線資料庫,然後將資料表繫結到datagridview,例子如下:

1.連線資料庫:

sqlconnection cnn = new sqlconnection();//例項化一個連線

cnn.connectionstring = "data source = datasource; uid = username; pwd =password; database = database_name";//設定連線字串

cnn.open();//開啟資料庫連線

2.讓查詢在datagridview中顯示

sqldataadapter da = new sqldataadapter();//例項化sqldataadpter

sqlcommand cmd1 = new sqlcommand("select * from 表 , cnn);//sql語句

da.selectcommand = cmd1;//設定為已例項化sqldataadapter的查詢命令

dataset ds1 = new dataset();//例項化dataset

da.fill(ds1);//把資料填充到dataset

datagridview1.datasource = ds1.tables[0];//將資料集繫結datagridview,完成顯示

說明:dataset是一個資料庫在記憶體中的映像,包括資料庫中的表,檢視,關係等;sqldataadapter是c#的資料庫介面卡,需要通過它來查詢資料庫,要通過sqldataadapter.selectcommand來設定查詢語句,查詢後填充到dataset中,再把dataset和datagridview繫結就好了,以上**寫在button事件中就可以。

18樓:匿名使用者

意思是將ds裡面的第一張張繫結到datagridview1控制元件裡

datagridview1.selectedrows[0].cells[0].value.tostring()是提取選中行的第一個單元格的值,並將它轉化為string型別

c#oledbdatareader thisreader =thiscommand.executereader()這是啥意思〉??

19樓:匿名使用者

這條語句的意思是,執行thiscommand物件中的sql查詢命令,並返回查詢結果,並將查詢結果儲存到thisreader 物件中,

你可以通過下面**讀取查詢的結果:

while (thisreader.read())thisreader.close();

C語言for語句中巢狀if語句可以沒有else麼

這個不會的.if語句完全可以不與else配合使用的.你上面寫的 完全沒有問題的.c會這樣想 滿足s i a,則sum 1 不滿足,則不執行sum 1 就是這樣.可以沒有else 沒有else的意思是 不滿足條件不做事 你的for if 如果s i 等於a 那麼sum 1,否則i i 1,做下一步迴圈...

C語言中,swichcase語句中,case後面只能

準確的說case後面跟來的源是一個確定的值,由於常量表示式也好,邏輯表示式 在c語言中邏輯表示式的值只有兩種而且是整形數值1或者0 也好都是返回的一個確定的值。因此switch case語句中case後可以跟邏輯表示式。注 剛剛我試了一下,確實可以 switch 只能跟確定的值,而且只能是整形,字元...

c語言for語句中的條件問題c語言中for語句是怎麼用的

1 for是c語言中的一個關鍵字,主要用來控制迴圈語句的執行。2 舉例說明for語句的使用方法 int i for i 0 i 3 i i 0是初始化部分 i 3是迴圈判斷條件部分 當滿足此條件時才進入執行for迴圈中的語句 i 是執行完迴圈體語句後的操作 上面的for語句就是控制輸出3次hello...