Can anyone help convert this VB Webservice?

Posted by CraigJSte on Stack Overflow See other posts from Stack Overflow or by CraigJSte
Published on 2010-05-24T01:08:40Z Indexed on 2010/05/24 1:31 UTC
Read the original article Hit count: 340

Filed under:
|
|
|

I can't figure it out for the life of me.. I'm using SQL DataSet Query to iterate to a Class Object which acts as a Data Model for Flex... Initially I used VB.net but now need to convert to C#.. This conversion is done except for the last section where I create a DataRow arow and then try to add the DataSet Values to the Class (Results Class)... I get an error message..

'VTResults.Results.Ticker' is inaccessible due to its protection level (this is down at the bottom)

 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;
     }    
   }

The VB.NET WEBSERVICE that runs fine which I am trying to convert to C# is here.

 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

© Stack Overflow or respective owner

Related posts about c#

Related posts about vb.net