科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道用SQL Server数据库处理数据层错误

用SQL Server数据库处理数据层错误

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

与数据库进行交互操作的时候会发生很多错误,但是很多开发人员都不知道如何处理数据库层的错误。本文我们将探讨如何利用SQLServer和T-SQL来处理你数据库代码里的错误。

作者:Builder.com.cn Tony Patton 来源:天新网 2008年4月28日

关键字: 数据库 Mssql SQL SQL Server

  • 评论
  • 分享微博
  • 分享邮件

下面是相应的VB.NET代码:

<%@ Import Namespace="System.Data.SqlClient"%>
<%@ Import Namespace="System.Data" %>
<%@ Page language="VB" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<html><head>
<title>TechRepublic.com - Test</title>
</head><body>
<script language="VB" runat="server">
Dim conn AS SqlConnection
Dim cmd As SqlCommand
Dim connString As String
Dim rvalue As Integer
Public Sub SubmitChanges() 
connString = "datasource=LOU8-3590424PATTON;uid=test;
pwd=test;initial catalog=Northwind"
Try
conn = new SqlConnection(connString)
cmd = new SqlCommand("sp_UpdateCustomerPhone", conn)
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.Add("@id", SqlDbType.NVarChar, 5)
cmd.Parameters("@id").Value = lblID.Text
cmd.Parameters.Add("@phone", SqlDbType.NVarChar, 24)
cmd.Parameters("@phone").Value = txtPhone.Text
cmd.Parameters.Add("@retvalue",System.Data.SqlDbType.Int)
cmd.Parameters("@retvalue").Direction= ParameterDirection.Output
conn.Open()
cmd.ExecuteNonQuery()
rvalue = System.Convert.ToInt32(cmd.Parameters("@retvalue").Value)
If (rvalue = -1) Then
lblMessage.Text = "Database error duringupdate."
lblMessage.Visible = true
Else
lblMessage.Text = "Data has been updated."
lblMessage.Visible = true
End If
conn.Close()
Catch ex As SqlException
lblMessage.Text = "Error accessing database:" + ex.ToString()
Catch ex As Exception
lblMessage.Text = "Exception: " + ex.ToString()
Finally 
If (conn.State = ConnectionState.Open)Then
conn.Close()
End If
conn.Dispose()
End Try
End Sub
Private Sub btnUpdatePhone_Click(sender As Object, eAs 
System.Web.UI.WebControls.CommandEventArgs)
SubmitChanges()
End Sub
</script>
<form id="frmTestUpdate"method="post" runat="server">
<asp:Label ID="lblMessage"Visible="False" 
runat="server"></asp:Label><br /><br />
<asp:Label ID="lblPhone"runat="server">New Number:</asp:Label>
<asp:TextBox ID="txtPhone"runat="server" /><br/><br />
<asp:Button ID="btnUpdatePhone"Text="Update" 
OnCommand="btnUpdatePhone_Click" runat="server"/>
<asp:Label ID="lblID"Visible="False" runat="server">ALFKI</asp:Label>
</form></body></html>

涵盖所有的数据库

利用try/catch代码块来处理.NET应用程序代码里的异常是一个简单明了的过程,但是你还可以监视数据库层的异常。SQLServer的T-SQL语言为你处理代码异常提供了所需要的一切。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章