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

首頁 > 編程 > .NET > 正文

ASP.NET中的事務(wù)處理和異常處理_.Net教程

2024-07-10 12:49:48
字體:
供稿:網(wǎng)友

推薦:ASP.NET中文顯示之兩種解決方法
作者剛開始寫ASP 程序時候碰到的第一個比較大的問題就是中文顯示問題,運行后發(fā)現(xiàn)ASP 從數(shù)據(jù)庫中讀取出來的中文全部變成了?????????????,有點類似jsp中的這個頻率出現(xiàn)最高的中文顯示問題了,查

使用SQL-Transaction類和.NET提供的異常處理機制,我們就能夠以一種可靠的方式處理數(shù)據(jù)庫運行中的問題和發(fā)現(xiàn)系統(tǒng)異常。這篇小文章將解釋事務(wù)處理和異常處理的概念和用法。

什么是事務(wù)?
事務(wù)處理是由以一個單一的邏輯單位完成的一系列操作,它可以由一系列的SQL語句、SELECT、INSERT、UPDATE、DELETE組成,如果在該單位包含的操作執(zhí)行完畢后沒有發(fā)生錯誤,那么它對數(shù)據(jù)庫所作的改變就是永久的了。如果一旦有錯誤發(fā)生,它就不會對數(shù)據(jù)庫作任何修改或改變。
要定義一個事務(wù),需要使用Begin tran命令,在這一命令之后的任何語句都將被認為是事務(wù)的一部分。命令Commit用來完成事務(wù),并使事務(wù)對數(shù)據(jù)庫所作的修改成為永久的。Rollback命令用來取消一個事務(wù),并還原事務(wù)對數(shù)據(jù)庫所作的修改。
下面是一個事務(wù)的例子:
[SQL SERVER7.0 or SQL SERVER2000]
BEGIN TRAN
INSERT INTO PRODUCT(PRODUCTID, PRODUCTNAME) VALUES("0001", "KEYBOARD")
UPDATE PRODUCT SET PRICE=12 WHERE PRODUCTID= "0002"
IF (@ERROR>0)
ROLLBACK
ELSE
COMMIT

什么是異常處理?
開發(fā)一種錯誤消息處理機制、并向用戶提供有用的、清楚、有意義的信息也是編程人員的任務(wù)之一,異常處理就是能夠提供這一服務(wù)的一種機制。一旦事務(wù)失敗,服務(wù)器就會向系統(tǒng)發(fā)出一個用于幫助用戶發(fā)現(xiàn)并修復(fù)邦聯(lián)的數(shù)據(jù)庫錯誤信息。我們可以異常處理功能來獲取這種異常信息,并修復(fù)出現(xiàn)的故障。異常處理功能的用法如下所示:
[c#]
try
{
//數(shù)據(jù)庫操作命令
}
catch (Exception e)
{
?//如果有異常發(fā)生,這部分語句將被執(zhí)行
}
finally
{
?//無論是否有異常發(fā)生,這部分語句都會得到執(zhí)行
}
如何實現(xiàn)事務(wù)?
1、在一個存儲過程中編寫事務(wù)語句,并使用下面的控制發(fā)現(xiàn)是否有錯誤發(fā)生,返回相應(yīng)的值,互聯(lián)網(wǎng)應(yīng)用程序會根據(jù)返回的值顯示正確的和容易理解的錯誤信息。下面是一個事務(wù)的例子:
[Store Procedure]
CREATE PROCEDURE PRODUCT_SAVE( AS
DECLARE
(@USERID CHAR(5),
@LOCATION VARCHAR(50),
@RETURNS INT OUTPUT
)
BEGIN TRAN
UPDATE ADDRESS SET LOCATION=@LOCATION WHERE USERID=@USERID
IF (@@ERROR>0)
BEGIN
@RETURNS=-1 /* Fail to Update */
ROLLBACK
END
ELSE
@RETURNS=0 /* Succeed to update */
COMMIT
RETURN @RETURNS

分享:如何實現(xiàn)在窗體和窗體之間進行傳遞數(shù)據(jù)
大家都知道aspx在同一個頁面中傳值是很容易的(如textBox1.Text等)但有時必須向另一個頁面?zhèn)髦涤靡郧癮sp的方法的確覺得不怎么樣,還要用Request.Form等東西好象又回到了從前。我這里使用一個類的

共2頁上一頁12下一頁
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 勃利县| 金坛市| 泸州市| 罗甸县| 阿克苏市| 玉屏| 揭东县| 延安市| 青岛市| 云南省| 瑞金市| 时尚| 瓮安县| 芜湖市| 平度市| 双柏县| 青田县| 曲靖市| 五家渠市| 同江市| 重庆市| 来宾市| 大名县| 临朐县| 江源县| 义乌市| 丘北县| 淮阳县| 福贡县| 永登县| 佛山市| 越西县| 通海县| 玉田县| 慈利县| 和政县| 岳普湖县| 海阳市| 安国市| 滦平县| 江阴市|