2016-08-09 2 views
1

누군가 나를 도울 수 있는지 궁금한가요?푸른 색 테이블 데이터 검색/캐스팅

테이블에 데이터를 업로드/다운로드한다고 가정하는 앱이 있습니다. 테이블에 데이터를 쓰는 데 아무런 문제가 없습니다. 독서가 문제 다.

먼저 내 클래스이다 : 나는 테이블에 NewRecord을 쓸 수있는 이유

Imports Microsoft.WindowsAzure.Storage.Table 

Public Class TimeRecord 
Inherits Microsoft.WindowsAzure.Storage.Table.TableEntity 
Implements Microsoft.WindowsAzure.Storage.Table.ITableEntity 

Private _Project1 As String 

Public Property Project1 As String 
    Get 
     Return _Project1 
    End Get 
    Set(ByVal value As String) 
     _Project1 = value 
    End Set 
End Property 


Public Property Data As String 
Public Property Category1 As String 
Public Property Description1 As String 
Public Property HRS1 As String 
Public Property MINS1 As String 

Public Property Project2 As String 
Public Property Category2 As String 
Public Property Description2 As String 
Public Property HRS2 As String 
Public Property MINS2 As String 


end class 

'next is the Upload, which is working fine and uploading all data to the table 

Public NewRecord As New TimeRecord 
Public CloudNewRecord As New TimeRecord 

' Finishing and uploading 
Private Sub Button_Finish_Click(sender As Object, e As EventArgs) Handles Button_Finish.Click 

    Call VariableAssign() ' that is where we assigning data to NewRecord.xxx="blah blah" etc 

    Dim accountname As String = "projects" 
    Dim accountkey As String = My.Settings.StorageKey 
    Dim creds As StorageCredentials = New StorageCredentials(accountname, accountkey) 
    Dim account As CloudStorageAccount = New CloudStorageAccount(creds, useHttps:=True) 
    Dim client As CloudTableClient = account.CreateCloudTableClient() 
    Dim table As CloudTable = client.GetTableReference("tdb") 

    table.CreateIfNotExists() 

    NewRecord.Data = _date 
    NewRecord.PartitionKey = ComboBox1.SelectedItem 
    NewRecord.RowKey = NewRecord.Data 

    ' Magically we write data to the cloud in Minesota 
    Dim insertoperation As TableOperation 
    insertoperation = TableOperation.InsertOrReplace(NewRecord) 
    table.Execute(insertoperation) 

    Call TimeCounter() 
    exSubUpload = False 
End Sub 


' **here is where I do have a problem casting**.... **I think I`m missing something in the Class declaration** 

' Retrieve from cloud 
Private Sub RetrieveFromCloud() 
    'Try 

    Dim accountname As String = "projects" 
    Dim accountkey As String = My.Settings.StorageKey 
    Dim creds As StorageCredentials = New StorageCredentials(accountname, accountkey) 
    Dim account As CloudStorageAccount = New CloudStorageAccount(creds, useHttps:=True) 
    Dim client As CloudTableClient = account.CreateCloudTableClient() 
    Dim table As CloudTable = client.GetTableReference("tdb") 

    Dim retrieveOperation As TableOperation 
    Dim retrievedResult As TableResult 

    retrieveOperation = TableOperation.Retrieve(ComboBox1.SelectedItem, _date) 
    ' it does retrieve all data and keep it in retrievedResult 

    retrievedResult = table.Execute(retrieveOperation) 

    **' that is I`m having problems - probably lack of knowledge/understanding - of how to cast all the data back to the class.** 
    CloudNewRecord = retrievedResult.Result 
    Debug.Print(CloudNewRecord.Project1) 


End Sub 

난 그냥 이해하지 않는,하지만 난 그것을 읽을 수 없습니다 여기

내가 가진 무엇 같은 CloudNewRecord 클래스에 테이블에서? VB.net에서 좋은 예제를 찾을 수 없습니다.

도움을 주시면 감사하겠습니다.

답변

0

GOT IT !!!!

Dim retrieveOperation As TableOperation 
    Dim retrievedResult As TableResult 

    retrieveOperation = TableOperation.Retrieve(Of TimeRecord)(ComboBox1.SelectedItem, _date) 
    retrievedResult = table.Execute(retrieveOperation) 

    Debug.Print(DirectCast(retrievedResult.Result, TimeRecord).Project1) 
관련 문제