[英]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.