Вместо изменения базовой таблицы для размещения строки в Valor приведите Valor к строке в вашем адаптере, чтобы она была временной. Это оставляет все ваши данные в таблице безопасными и доступными для любых других программ, которые у вас есть, но все же позволяет вам использовать их в качестве строки здесь и вставлять строки Saldo. Это также намного эффективнее по времени и памяти, чем чтение в таблице, а затем выполнение копирования и преобразования в нее. Для этого создайте строку QueryString в адаптере следующим образом:
SELECT Banco, Lancamento, Historico, Data
, CONVERT(nvarchar(50),Valor) as Valor
, Ordem
FROM TAB_Movimentos
WHERE Banco = @Banco
ORDER BY Data ASC, Ordem ASC, Valor DESC, Histórico ASC
Возможно, вам придется сделать то же самое со столбцами ненулевых чисел c, чтобы они могли принимать пробелы.
Обратите внимание, что в этом есть та же проблема, на которую указывает @OhBeWise - вы теряете форматирование чисел, потому что они больше не являются числами, что касается вашего DataGridView. Возможно, вы захотите использовать FORMAT () вместо CONVERT () (если он доступен в вашей версии SQL -SERVER)