Ваш источник - DataTable, поэтому "source.ToString()
" не даст вам ваш результат,
Попробуйте "source.Rows[0][0].ToString();
".
Объект DataTable содержит список объектов DataRow, которые содержатзначения для каждой строки вашего запроса.
В вашем случае, однако, вам это может не понадобиться.Если вы ищете одно значение, вы должны использовать IDbCommand и вызывать ExecuteScalar()
.Это вернет первое значение первой строки ваших результатов.
Также попробуйте вызвать Dispose()
для объектов, которые реализуют IDisposable (как dbadapter, команда, соединение).
string query = "SELECT SUM (Price) FROM Bill";
using (System.Data.IDbCommand command = new System.Data.OleDb.OleDbCommand(query, DBconn))
{
object result = command.ExecuteScalar();
TotalValueLabel.Text = Convert.ToString(result);
}