2009-08-28 49 views
0

好吧,這個問題可以是非常寬泛的或非常具體的,因爲我不知道我是否以根本錯誤的方式解決這個問題,或者如果我接近正確的話。將數據庫添加到ASP.NET Web服務

首先概述:我正在嘗試的操作爲組織中的所有客戶端創建一個服務器應用程序以連接到該服務器應用程序。我認爲最好的方法是使用Web服務。如果我錯了,請糾正我的錯誤!

無論如何,如果我使用Web服務,我需要Web服務(服務器)連接到數據庫。在MS Visual Studio中添加Web服務項目時,數據菜單消失,您無法將數據源添加到項目中。手動編碼可能會有一個解決方法,但我不知道該怎麼做。這是我第一次使用Web服務和ASP.NET,所以我在這方面是一個真正的低調。

任何幫助將不勝感激!

+0

好奇如何你的客戶將被連接? – madcolor 2009-08-28 20:13:28

+0

我不知道你的意思到底是什麼,但通過內部網(現在)和互聯網(最終)。他們連接到Web服務,將處理所有的數據庫的東西等功能。 – 2009-08-28 20:27:24

回答

1

將您的數據庫連接字符串添加到Web服務web.config文件的<connectionStrings/>部分。檢查這個網站最常見的數據庫連接字符串列表:Connectionstrings.com

0

你可以使用標準的ADO.Net命令和SQL語句,而不是使用DataSet設計器。例子(VB)

<WebMethod()> _ 
    Public Function DoesOpenCallExist(ByVal CustID As String, ByVal CallType As String, ByVal SubCallType As String) As Boolean 
    Dim returnvalue As Boolean = False 
    ' first, entry validation 
     ' snip - code deleted 


     Dim conn As New System.Data.SqlClient.SqlConnection 
     conn.ConnectionString = System.Configuration.ConfigurationManager.ConnectionStrings("HEATConnectionString").ConnectionString 
     Dim cmd As New SqlClient.SqlCommand 
     cmd.Connection = conn 
     cmd.CommandType = CommandType.StoredProcedure 
     cmd.CommandText = "sp_GetCallCount" 
     cmd.Parameters.AddWithValue("@CustID", CustID) 
     ' Etc... 
     Try 
      conn.Open() 
      returnvalue = cmd.ExecuteScalar() > 0 
     Catch ex As Exception 
      Throw New Exception(ex.ToString()) 
     Finally 
      conn.Close() 
     End Try 
     Return returnvalue 
End Function 
-1

*這項工作應

  • web.config文件*

這裏數據源是服務器名,初始catlog是數據庫名,用戶名和數據庫用戶名和密碼相同。

然後在我們想要得到與數據庫連接類......

  • **** **** class.cs

公共類連接 { 公共靜態的SqlConnection CON() { 字符串CON = ConfigurationManager.AppSettings [ 「連接」]的ToString(); SqlConnection cn = new SqlConnection(con); cn.Open(); return cn; }}

這裏的連接是鍵名...... 好吧,我認爲它足夠............