亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

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

ADO.NET---ExcuteScalar()方法復習

2019-11-14 15:59:04
字體:
來源:轉載
供稿:網友

ExcuteScalar(),返回的是查詢結果的第一行第一列,返回值是object類型,一般用來查詢表中有多少條數據,求最大值等

現在我們用ExcuteScalar()做個測試,需求:我要查詢學生表里面有多少條數據.

存儲過程

1   IF OBJECT_ID('GetStudentsCountNum','P') IS NOT NULL2   DROP PROCEDURE GetStudentsCountNum3   GO 4   CREATE PROCEDURE GetStudentsCountNum5   AS 6   SELECT COUNT (*) FROM dbo.T_USERS7   GO 8  

 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 using System.Data; 7 using System.Data.SqlClient; 8  9 namespace ADO.NET查詢結果集的第一行第一列10 {11     class Program12     {13         static void Main(string[] args)14         {15             //連接字符串16             string sqlConStr = "server=.;database=DB_USERS;uid=sa;pwd=PassWord_1";17 18             //1.創建連接對象19             SqlConnection scon = new SqlConnection(sqlConStr);20 21             //2.創建命令對象22             SqlCommand scmd = new SqlCommand();23             scmd.CommandText = "GetStudentsCountNum";24             scmd.CommandType = CommandType.StoredProcedure;25             scmd.Connection = scon;26 27             //3.打開連接28             scon.Open();29 30             //4,執行命令31             int result = (int)scmd.ExecuteScalar();32 33             //5.處理數據34             Console.WriteLine("查詢到的數據行總數是{0}", result);35 36             //6。關閉連接37             scon.Close();38 39 40             Console.ReadKey();41 42 43 44         }45     }46 }
ExcuteScalar()方法測試

 程序執行效果圖:

 

然而ExcuteScalar還有一個特別的應用。

比如,我有一個數據庫表,主鍵是自動增長的,大家都知道,這個時候,向表里面插入數據,不能插入自動增長的主鍵字段,但是我現在有這樣一個需求:

我要得到每次插入到表中的數據的主鍵值。。這個時候,就輪到ExcuteScalar出馬了。所以這個時候,我們可以得出結論:我們不要以為只有select操作的時候才去用ExcuteScalar,像這個Insert操作由于輸出的是一行一列的值,也可以使用ExcuteScalar方法。

具體的使用方法是。在插入語句的values關鍵字前面加上 output inserted.ID   ,這里的ID指的是主鍵字段。

創建存儲過程:(等等我們這里創建兩個,一個是錯誤的實例,一個是正確的實例)

 1 IF OBJECT_ID('Insert_Users','P') IS NOT NULL 2  DROP PROCEDURE Insert_Users 3  GO  4  CREATE PROCEDURE Insert_Users 5  @name NVARCHAR(10) , 6  @pwd NVARCHAR (10), 7  @age INT , 8  @errorTimes INT 9  AS 10  INSERT INTO dbo.T_USERS11          ( T_NAME, T_PWD, T_AGE, T_ErrorTimes )12  OUTPUT Inserted.T_ID VALUES  ( '@name', -- T_NAME - nvarchar(10)13            '@pwd', -- T_PWD - nvarchar(10)14             '@age', -- T_AGE - int15            '@errorTimes' -- T_ErrorTimes - int16            )17  GO18            
錯誤實例,:age和errorTimes字段在數據庫中是int類型的,在創建存儲過程的時候,不能給參數加引號,不然在編寫程序的時候,報錯

即使在程序中,單獨對這個參數,申明int類型的參數,也還是報錯。所以要特別注意。

正確的存儲過程實例:

 1 IF OBJECT_ID('Insert_Users','P') IS NOT NULL 2  DROP PROCEDURE Insert_Users 3  GO  4  CREATE PROCEDURE Insert_Users 5  @name NVARCHAR(10) , 6  @pwd NVARCHAR (10), 7  @age INT , 8  @errorTimes INT 9  AS 10  INSERT INTO dbo.T_USERS11          ( T_NAME, T_PWD, T_AGE, T_ErrorTimes )12  OUTPUT Inserted.T_ID VALUES  ( @name, -- T_NAME - nvarchar(10)13            @pwd, -- T_PWD - nvarchar(10)14            @age, -- T_AGE - int15            @errorTimes -- T_ErrorTimes - int16            )17  GO18            
正確的存儲過程實例

代碼實現如下:

 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 using System.Data; 7 using System.Data.SqlClient; 8  9 namespace 當主鍵是自動增長的時候_我們要查詢每次插入的時候的主鍵值的時候用ExcuteScalar10 {11     class Program12     {13         static void Main(string[] args)14         {15             string sqlConStr = "server=.;database=DB_USERS;uid=sa;pwd=Password_1";16 17             //1.創建連接對象18             SqlConnection scon = new SqlConnection(sqlConStr);19 20             //2.創建命令對象21             SqlCommand scmd = new SqlCommand();22             scmd.CommandText = "Insert_Users";23             scmd.CommandType = CommandType.StoredProcedure;24             scmd.Connection = scon;25 26 27             //3.打開連接28             scon.Open();29 30             //設置參數31             scmd.Parameters.Add(new SqlParameter("@name", "Test"));32             scmd.Parameters.Add(new SqlParameter("@pwd", "123456"));33             scmd.Parameters.Add(new SqlParameter("@errorTimes", 2));34 35 36             SqlParameter parameters = new SqlParameter();37             parameters.Value = 2;38             parameters.DbType = DbType.Int32;39             parameters.ParameterName = "@age";40             scmd.Parameters.Add(parameters);41 42             //4執行命令43             int id= (int)scmd.ExecuteScalar();44 45             Console.WriteLine("你這次插入的數據的主鍵是{0}", id);46             Console.ReadKey();47 48 49             50         }51     }52 }
編碼實現

程序運行的效果圖:

 

注意:如果想要還原主鍵字段,可以使用truncate table 表名,把數據清空,然后執行的時候,就是從主鍵1開始的


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲性生活视频在线观看| 日本亚洲精品在线观看| 92福利视频午夜1000合集在线观看| 在线观看日韩专区| 国产精品极品美女粉嫩高清在线| 亚洲第一级黄色片| 国产精品久久久久久久久免费看| 亚洲视频一区二区三区| 国产综合久久久久| 亚洲日本成人网| 中文字幕国内精品| 欧美精品精品精品精品免费| 欧美激情视频网站| 欧美另类69精品久久久久9999| 日韩中文字幕精品视频| 国产精品青青在线观看爽香蕉| 3344国产精品免费看| 久久久人成影片一区二区三区| www.欧美精品一二三区| 成人激情在线观看| 国产裸体写真av一区二区| 国产mv久久久| 亚洲大胆美女视频| 亚洲天堂av在线播放| 日韩av免费在线观看| 亚洲成人av资源网| 日韩国产欧美精品一区二区三区| 国产精品中文字幕在线| 97久久国产精品| 欧美激情一区二区久久久| 人九九综合九九宗合| 国产精品欧美一区二区| 国产玖玖精品视频| 欧美精品久久久久久久久久| 久久久精品一区二区| 伊人久久久久久久久久久| 色777狠狠综合秋免鲁丝| 不卡伊人av在线播放| 亚洲少妇激情视频| 亚洲色图日韩av| 久久久成人的性感天堂| www.亚洲一二| 少妇高潮久久久久久潘金莲| 国产一级揄自揄精品视频| 亚洲石原莉奈一区二区在线观看| 综合国产在线观看| 国产精品久久久久久久久粉嫩av| 中文在线资源观看视频网站免费不卡| 日韩av在线高清| 欧美大片免费看| 欧美激情性做爰免费视频| 精品一区二区电影| 国产日韩精品视频| 国产精品香蕉在线观看| 欧美国产精品va在线观看| 亚洲va电影大全| 亚洲在线第一页| 国产精品视频免费观看www| 亚洲成人亚洲激情| 国模精品视频一区二区| 国产日韩中文在线| 日韩欧美福利视频| 色先锋资源久久综合5566| 91精品国产自产在线观看永久| 91久久精品日日躁夜夜躁国产| 久久99国产精品自在自在app| 亚洲精品乱码久久久久久金桔影视| 91在线网站视频| 98视频在线噜噜噜国产| 日韩中文字幕亚洲| 国产精品九九九| 亚洲a在线播放| 亚洲欧美一区二区三区情侣bbw| 日韩欧美在线视频观看| 久久久女女女女999久久| 8x拔播拔播x8国产精品| 欧美视频在线观看免费网址| 亚洲精品日韩丝袜精品| 中文字幕久久久av一区| 欧美色视频日本版| 精品亚洲aⅴ在线观看| 91视频免费在线| 午夜精品福利电影| 亚州国产精品久久久| 日韩国产欧美精品在线| 国产精品久久久久av免费| 国产精品 欧美在线| 日韩在线播放视频| 欧美久久久精品| 亚洲国产成人av在线| 欧美丰满少妇xxxxx| 亚洲美女又黄又爽在线观看| 欧美丰满老妇厨房牲生活| 成人黄色片网站| 国产精品久久久av久久久| 国产精品电影网站| 国产一区二区三区在线观看视频| 日韩av高清不卡| 97国产成人精品视频| 亚洲福利视频久久| 日韩欧美福利视频| 国产亚洲综合久久| 欧美精品福利在线| 日韩电影免费在线观看| 亚洲视频自拍偷拍| 欧美电影免费观看电视剧大全| 色青青草原桃花久久综合| 亚洲成av人乱码色午夜| 色综合伊人色综合网| 亚洲人成伊人成综合网久久久| 国内精品一区二区三区| 国内精品一区二区三区| 亚洲精品按摩视频| 国产精品视频免费观看www| 亚洲全黄一级网站| 色偷偷噜噜噜亚洲男人的天堂| 欧美激情影音先锋| 中文字幕久久精品| 午夜精品久久久久久久99黑人| 亚洲第一福利在线观看| 美女性感视频久久久| 国产欧美久久一区二区| 欧美精品18videosex性欧美| 一区二区亚洲精品国产| 最近2019中文免费高清视频观看www99| 色综合老司机第九色激情| 成人h视频在线观看播放| www日韩中文字幕在线看| 九九精品视频在线观看| 亚洲va男人天堂| 亚洲精品美女在线观看播放| 亚洲一区二区三区四区视频| 日韩在线观看免费高清| 在线精品播放av| 国产美女直播视频一区| 97香蕉超级碰碰久久免费软件| 国产欧美精品日韩精品| 国产精品香蕉国产| 九九热这里只有精品免费看| 最近中文字幕日韩精品| 91香蕉嫩草神马影院在线观看| 国产精品黄页免费高清在线观看| 国产精品久久久久久av下载红粉| 国产精品www网站| 97av在线视频| 中日韩美女免费视频网站在线观看| 一级做a爰片久久毛片美女图片| 日本国产一区二区三区| 久久精品最新地址| 亚洲人在线视频| 色黄久久久久久| 欧美裸体xxxx极品少妇软件| 亚洲第一页中文字幕| 日韩亚洲欧美成人| 在线精品国产成人综合| 亚洲夜晚福利在线观看| 欧美亚洲国产日韩2020| 综合网中文字幕| 国产精品美女主播| 疯狂蹂躏欧美一区二区精品| 91久久精品国产| 久久久精品美女| 91在线精品视频| 欧美成人午夜激情在线|