我無法弄清楚我的生活..我使用SQL數據集查詢來迭代到一個類對象,它充當Flex的數據模型...最初我使用VB.net,但現在需要轉換爲C#..除了創建DataRow arow的最後一部分,然後嘗試將DataSet值添加到類(結果類)之外,此轉換完成...我收到一條錯誤消息..任何人都可以幫助轉換此VB Webservice?
' VTResults.Results.Ticker」不可訪問由於其保護級別 (這是下跌的底部)
using System;
using System.Web;
using System.Collections;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
/// <summary>
/// Summary description for VTResults
/// </summary>
[WebService(Namespace = "http://velocitytrading.net/ResultsVT.aspx")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class VTResults : System.Web.Services.WebService {
public class Results {
string Ticker;
string BuyDate;
decimal Buy;
string SellDate;
decimal Sell;
string Profit;
decimal Period;
}
[WebMethod]
public Results[] GetResults() {
string conn =
ConfigurationManager.ConnectionStrings["LocalSqlServer"].ConnectionString;
SqlConnection myconn = new SqlConnection(conn);
SqlCommand mycomm = new SqlCommand();
SqlDataAdapter myda = new SqlDataAdapter();
DataSet myds = new DataSet();
mycomm.CommandType = CommandType.StoredProcedure;
mycomm.Connection = myconn;
mycomm.CommandText = "dbo.Results";
myconn.Open();
myda.SelectCommand = mycomm;
myda.Fill(myds);
myconn.Close();
myconn.Dispose();
int i = 0;
Results[] dts = new Results[myds.Tables[0].Rows.Count];
foreach(DataRow arow in myds.Tables[0].Rows)
{
dts[i] = new Results();
dts[i].Ticker = arow["Ticker"];
dts[i].BuyDate = arow["BuyDate"];
dts[1].Buy = arow["Buy"];
dts[i].SellDate = arow["SellDate"];
dts[i].Sell = arow["Sell"];
dts[i].Profit = arow["Profit"];
dts[i].Period = arow["Period"];
i+=1;
}
return dts;
}
}
運行罰款VB.NET WEBSERVICE而我試圖將轉換爲C#在這裏。
Imports System.Web
Imports System.Web.Services
Imports System.Web.Services.Protocols
Imports System.Data
Imports System.Data.SqlClient
<WebService(Namespace:="http://localhost:2597/Results/ResultsVT.aspx")> _
<WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
Public Class VTResults
Inherits System.Web.Services.WebService
Public Class Results
Public Ticker As String
Public BuyDate As String
Public Buy As Decimal
Public SellDate As String
Public Sell As Decimal
Public Profit As String
Public Period As Decimal
End Class
<WebMethod()> _
Public Function GetResults() As Results()
Try
Dim conn As String =
ConfigurationManager.ConnectionStrings("LocalSqlServer").ConnectionString
Dim myconn = New SqlConnection(conn)
Dim mycomm As New SqlCommand
Dim myda As New SqlDataAdapter
Dim myds As New DataSet
mycomm.CommandType = CommandType.StoredProcedure
mycomm.Connection = myconn
mycomm.CommandText = "dbo.Results"
myconn.Open()
myda.SelectCommand = mycomm
myda.Fill(myds)
myconn.Close()
myconn.Dispose()
Dim i As Integer
i = 0
Dim dts As Results() = New Results(myds.Tables(0).Rows.Count - 1) {}
Dim aRow As DataRow
For Each aRow In myds.Tables(0).Rows
dts(i) = New Results
dts(i).Ticker = aRow("Ticker")
dts(i).BuyDate = aRow("BuyDate")
dts(i).Buy = aRow("Buy")
dts(i).SellDate = aRow("SellDate")
dts(i).Sell = aRow("Sell")
dts(i).Profit = aRow("Profit")
dts(i).Period = aRow("Period")
i += 1
Next
Return dts
Catch ex As DataException
Throw ex
End Try
End Function
End Class
您還應該將SqlConnection,SqlCommand和SqlDataAdapter放入'using'塊中,以便在引發異常時將它們丟棄。 – 2010-05-24 01:24:25
謝謝約翰當我完成轉換後,我會繼續努力。 – CraigJSte 2010-05-24 20:34:47