0
我一直在創建接受輸入參數的Web API,並調用一個存儲過程來傳遞我們收到的在數據庫中插入/更新帳戶表的輸入參數。既然是完美的,但我的API還需要選擇被更新/插入記錄並返回它們的響應Web API調用存儲過程來插入/更新數據庫
public class ProjectNameCreationController : ApiController
{
[HttpGet]
public HttpResponseMessage Get(string Account)
{
if (string.IsNullOrEmpty(Account))
{
return Request.CreateResponse(new { error = "Input parameters cannot be Empty or NULL" });
}
string strcon = ConfigurationManager.ConnectionStrings["DBConnection"].ConnectionString;
SqlConnection DbConnection = new SqlConnection(strcon);
DbConnection.Open();
SqlCommand command = new SqlCommand("[dbo].[usp_InserUpadte]", DbConnection);
command.CommandType = CommandType.StoredProcedure;
//create type table
DataTable table = new DataTable();
table.Columns.Add("AccountID", typeof(string));
table.Rows.Add(Account);
SqlParameter parameter = command.Parameters.AddWithValue("@account_TT", table);
parameter.SqlDbType = SqlDbType.Structured;
parameter.TypeName = "account_TT";
command.ExecuteNonQuery();
現在我不知道,如果我們能夠選擇,現在它是插入/更新記錄作爲存儲過程的一部分,或將我必須seperately創建查詢像下面
string strQuery = "select AccountID,CounterSeq from Account where AccountID = @accountID ";
var cmd = new SqlCommand(strQuery);
cmd.Parameters.AddWithValue("@accountID",Account);
因爲我將不得不返回響應作爲帳戶ID-CounterSeq(如:IT-1)時的API調用等http://localhost/api/ProjectNameCreation?Account=IT 。我該如何處理這個問題。任何幫助將不勝感激
您使用的是SQL Server嗎? – Aamir
這不是處理Web API時處理數據的有效方法。您可以考慮使用[實體框架](https://www.asp.net/entity-framework)進行數據庫操作。 –
我是否爲存儲過程創建實體框架? – user4912134