2017-07-25 250 views
1

我正在嘗試使用web API插入數據。在sql server數據庫中通過Asp.net web API插入數據

我已將帶有Web API文件夾和核心參考的空Web應用程序。

我AppModel類

public class AppModel 
{ 
    public int RegisterId { get; set; } 
    public string RegisterName { get; set; } 
    public string RegisterUserName { get; set; } 
    public string RegisterPassword { get; set; } 
    public string RegisterEmail { get; set; } 
    public string RegisterMobile { get; set; } 
    public DateTime RegisterDate { get; set; } 
    public string RegisterStatus { get; set; } 
} 

下面是我的HomeController代碼

public class HomeController : ApiController 
{ 
    SqlConnection xc; 
    SqlCommand xcmd; 

    [HttpPost] 
    public string RegisterUser([FromBody] AppModel register) 
    { 
     try 
     { 
      using (xc = new SqlConnection(ConfigurationManager.ConnectionStrings["db_appConnectionString"].ConnectionString)) 
      { 
       xcmd = new SqlCommand("sp_insert_register", xc); 
       xcmd.CommandType = CommandType.StoredProcedure; 
       xcmd.Parameters.AddWithValue("@register_id", register.RegisterId); 
       xcmd.Parameters.AddWithValue("@register_name", register.RegisterName); 
       xcmd.Parameters.AddWithValue("@register_username", register.RegisterUserName); 
       xcmd.Parameters.AddWithValue("@register_password", register.RegisterPassword); 
       xcmd.Parameters.AddWithValue("@register_email", register.RegisterEmail); 
       xcmd.Parameters.AddWithValue("@register_mobile", register.RegisterMobile); 
       xcmd.Parameters.AddWithValue("@register_date", DateTime.Now); 
       xcmd.Parameters.AddWithValue("@register_status", "True"); 

       xc.Open(); 
       int i = xcmd.ExecuteNonQuery(); 
       if (i > 0) 
       { 
        msg = "User Registered"; 
       } 
       else 
       { 
        msg = "Something went wrong."; 
       } 
      } 
     } 
     catch (Exception ex) 
     { 
      msg = ex.ToString(); 
     } 
     return msg; 
    } 
} 

我很困惑如何我在郵差測試API值傳遞給這些parameter.I。 我也不是什麼關鍵在身體

+0

究竟是什麼問題?如果你想通過郵遞員傳遞參數,你可以通過帶有所有這些參數的JSON數組傳遞給KEY/VALUE對。 –

+2

只需傳遞一個JSON對象'{「RegisterId」:「0」,...}'? –

+0

只要在存儲過程中交叉檢查register_name的數據類型(如果它相同或不相同) –

回答

0

通過在郵差,安置自己的JSON數據,如下面的屏幕截圖:

選擇身體選項卡中,選擇並輸入您的JSON數據。 在POST上,您的RegisterUser方法將獲取將爲AppModel類型的寄存器變量中的值。 ASP.NET WebAPI將管理從Json到C#類型的自動轉換。

enter image description here

相關問題