簡體   English   中英

如何執行postgres查詢並將其存儲在asp.net核心的integer中

[英]how to execute postgres query and store it in integer in asp.net core

 var mainQuery = String.Format(@"SELECT SUM(amount), accounts.type FROM transactions INNER JOIN accounts ON transactions.accountid = accounts.accountid WHERE accounts.type = 'income' AND transactions.date BETWEEN '{0}' AND '{1}' GROUP BY accounts.type", startDate, endDate);

 using var mainCommand = new NpgsqlCommand(mainQuery, connection);

 int result = mainCommand.ExecuteNonQuery();

我正在執行這個查詢,如果執行, mainquery將返回一個 integer 值。

我應該如何使用 npgsql 和 ADO.NET 執行此查詢並存儲在 integer 中?

由於該查詢應該只返回一行並且您只關心總和(您已經知道帳戶類型將是什么),因此您應該能夠使用 ExecuteScalar() 而不是 ExecuteNonQuery()。

不過,Steve 關於 String.Format() 的第一點絕對仍然有效。 代碼原樣存在 SQL 注入漏洞,應該重構。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM