所以我不確定是否有更好的方法來做到這一點,但這是我目前的設置。ASP.NET:如何通過存儲過程從SQL Server中檢索信息?
- 創建一個表示我的數據庫表結構的XSD文件。
- 創建一個類文件來保存我的功能,如下面的一個。
代碼示例:
Public Function GetUser(ByVal UserID As String) As xsdUser.UserDataTable
Dim SqlConn As New SqlConnection(ConfigurationManager.ConnectionStrings("MyDatabase").ConnectionString)
Dim SqlCom = New SqlCommand("User_Retrieve", SqlConn)
Dim Adapter As SqlDataAdapter
Dim UserDT As New xsdUser.UserDataTable
Using SqlCom
SqlCom.Parameters.Add(New SqlParameter("@I_UserID", SqlDbType.NVarChar, 4)).Value = UserID
Adapter = New SqlDataAdapter(SqlCom)
Adapter.Fill(UserDT)
End Using
If UserDT IsNot Nothing AndAlso UserDT.Rows.Count > 0 Then
'Return DataTable here or I guess DataRow since there should just be one.
Else
'Handle Error here if there is no row
End If
End Function
現在看來奇怪,我有兩個文件做什麼,應該只包含一個文件中。我覺得我應該有一個名爲「User」的類文件,並在其中具有成員變量以及上面的類函數。但是我看到的所有教程都使用這些數據表。最重要的是,我不知道如何在函數結尾處理if語句。我不認爲我想要返回整個DataTable,因爲我應該只有一行,而且我也不知道如果我的函數應該返回一個數據表,我將如何處理一個錯誤。我想我可以返回一個空的,然後如果我的代碼中的表是空的,那麼我會在那裏處理它,但是這似乎也很麻煩。
所以,任何人都可以清除一些這些東西?這是從存儲過程中檢索信息的常用方法嗎?或者有沒有我在搜索結果中看不到的最新方法?
謝謝!
請不要用類型名稱命名變量。這很令人困惑 - – Steve
@Steve,抱歉,我認爲我修改了所有的東西。將來要記住這一點。謝謝。 – daveomcd