2013-12-16 266 views
-1

我有一個字符串變量,它正在接收Guid。我需要將該字符串轉換回Guid,因爲數據庫字段的類型爲Guid如何將字符串轉換爲Guid

我試着使用:

Guid myGuid = Guid.Empty;; 
myGuid = Guid.Parse(myId); 

但不斷得到Format Exception; Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)

下面是我的代碼:

public string addVehicleDetails(string vname, string vtype, string regNumber, string ftype, string fefficiency, string insby, DateTime datecreated, string myId) 
     { 

      string result = string.Empty; 
      tblVehicleDetail myVehicleDetails = new tblVehicleDetail(); 
      // Guid myGuid = Guid.Empty; 
      System.Guid myGuid = new Guid(myId); 
      // myGuid = Guid.Parse(myId); 
      try { 

       // Add details into vehicle details 
       myVehicleDetails.VehicleName = vname; 
       myVehicleDetails.VehicleType = vtype; 
       myVehicleDetails.RegistrationNumber = regNumber; 
       myVehicleDetails.FuelType = ftype; 
       myVehicleDetails.FuelEfficiency = fefficiency; 
       myVehicleDetails.InsuranceBy = insby; 

       myVehicleDetails.DateCreated = datecreated; 
       myVehicleDetails.Guid = myGuid; 

       dc.tblVehicleDetails.InsertOnSubmit(myVehicleDetails); 

       dc.SubmitChanges(); 

       return result = vname; 

      } 
      catch(Exception exp) 
      { 
       exp.ToString(); 
       return result = "Error in Adding Vehicle Details."; 
      } 
     } 

這個任何解決方案?

+1

請顯示示例和代碼,因爲'Guid.Parse'完全符合您的需求。似乎有一個不同的問題。 – germi

+5

您是否檢查myId的值?它格式正確嗎? –

+2

你檢查過http://stackoverflow.com/questions/350500/how-to-convert-a-string-to-a-guid – meorfi

回答

0

Format Exception告訴你,你的輸入(String myId)是不是在一個公認的格式。

您應該清楚地處理異常,您的輸入字符串格式不正確,因此請使用Guid.TryParse(如果輸入爲空或不是以可識別的格式輸出,並且不會引發異常,則此方法返回false。 Here

還檢查Guid.TryParseExact的方法。

myGuid = Guid.Parse(myId); 
    if (Guid.TryParse(myId, out newGuid)) 
    { 
    try 
     { 
     myVehicleDetails.DateCreated = datecreated; 
     myVehicleDetails.Guid = myGuid; 
     dc.tblVehicleDetails.InsertOnSubmit(myVehicleDetails); 
     dc.SubmitChanges(); 
     } 
    } 
    else 
     { 
     //Input string is not in correct format 
     } 
+0

嘗試此操作後,我可以執行其他塊即輸入字符串的格式不正確 – Trupti

+0

@Trupti您應該檢查您的輸入字符串格式,通過這個您可以指定輸入參數的格式在您的情況下您的'myID' http:// msdn .microsoft.com/en-us/library/system.guid.tryparseexact.aspx –

+0

實際上,在獲取字符串時會出現類似「\」的斜線。******** - **** - *** * - **** - ************ \「」可能是因爲我面臨的問題 – Trupti