2013-04-02 28 views
0

我試圖從odbc連接更新我的軟件到我的新的sql服務器。新的sql連接默認爲舊數據庫(參見下面的代碼)。我甚至試圖保持sql的odbc連接並指向我的新數據庫,但webservice正在返回一個布爾值,而不是肥皂。 sql服務器是爲更新的webservice設置和工作的。我錯過了什麼?web服務轉換odbc訪問連接到sql server

這裏是舊代碼:

<WebMethod()> Public Function LookupItem(ByVal strUPC As String) As DataSet 
    Try 
     Dim connUPC As New Odbc.OdbcConnection 
     Dim ConnectionString As String 
     Dim strSQL As String 
     '//get upc info    
     strSQL = "SELECT Inv_Qty.*,PLU.*,PLU.PLU_NUM, PLU.DEPT_NUM From PLU INNER JOIN Inv_Qty ON PLU.PLU_NUM=Inv_Qty.PLU_NUM WHERE ((PLU.PLU_NUM) = '" & strUPC & "');" 
     ConnectionString = "DSN=mainODBC" 
     connUPC.ConnectionString = ConnectionString 
     Dim cmdUPC As New Odbc.OdbcCommand(strSQL, connUPC) 
     Dim dsUPC As DataSet = New DataSet 
     Dim daUPC As Odbc.OdbcDataAdapter = New Odbc.OdbcDataAdapter(cmdUPC) 
     connUPC.Open() 
     daUPC.Fill(dsUPC, "TC") 
     connUPC.Close() 
     connUPC = Nothing 
     Return dsUPC 
    Catch ex As Exception 

    End Try 
End Function 

我一直在努力,只是改變了連接:

<WebMethod()> Public Function LookupItem(ByVal strUPC As String) As DataSet 
    Try 
     Dim connUPC As New Data.SqlClient.SqlConnection 
     Dim ConnectionString As String 
     Dim strSQL As String 
     '//get upc info    
     strSQL = "SELECT Inv_Qty.*,PLU.*,PLU.PLU_NUM, PLU.DEPT_NUM From PLU INNER JOIN Inv_Qty ON PLU.PLU_NUM=Inv_Qty.PLU_NUM WHERE ((PLU.PLU_NUM) = '" & strUPC & "');" 
     ConnectionString = "Data Source=localhost\db;Initial Catalog=DB_SQL;Persist Security Info=True;User ID=myID;Password=myPass" 
     connUPC.ConnectionString = ConnectionString 
     Dim cmdUPC As New Data.SqlClient.SqlCommand(strSQL, connUPC) 
     Dim dsUPC As DataSet = New DataSet 
     Dim daUPC As Data.SqlClient.SqlDataAdapter = New Data.SqlClient.SqlDataAdapter(cmdUPC) 
     connUPC.Open() 
     daUPC.Fill(dsUPC, "TC") 
     connUPC.Close() 
     connUPC = Nothing 
     Return dsUPC 
    Catch ex As Exception 

    End Try 
End Function 
+0

您是否試過單步執行代碼並查看新的'SqlClient'對象?這應該給你一個很好的想法,哪裏出問題了。 –

回答

0

嘗試這種方式:) 希望它可以幫助...

<WebMethod()> Public Function LookupItem(ByVal strUPC As String) As DataSet 
    Try 
     Dim connUPC As New Data.SqlClient.SqlConnection 
     Dim cmdUPC As New Data.SqlClient.SqlCommand 
     Dim daUPC As New Data.SqlClient.SqlDataAdapter 
     Dim dsUPC As DataSet = New DataSet 
     Dim ConnectionString As String = "Data Source=localhost\db;Initial Catalog=DB_SQL;Persist Security Info=True;User ID=myID;Password=myPass" 
     Dim strSQL As String = "SELECT Inv_Qty.*,PLU.*,PLU.PLU_NUM, PLU.DEPT_NUM From PLU INNER JOIN Inv_Qty ON PLU.PLU_NUM=Inv_Qty.PLU_NUM WHERE ((PLU.PLU_NUM) = '" & strUPC & "');" 

     '// Opening the connection 
     connUPC.Open() 
     cmdUPC.Connection = connUPC 
     cmdUPC.CommandText = strSQL 

     daUPC.SelectCommand = cmdUPC 
     daUPC.Fill(dsUPC) 

     connUPC.Close() 
     connUPC = Nothing 

     Return dsUPC 
    Catch ex As Exception 

    End Try 
End Function 

玩得開心!

+0

看起來像剛剛組織得更好的相同的東西。 – iDev