printf()
заканчивается на «\ n», поэтому данные немедленно выводятся на терминал, отображая соответствующий способ извлечения цифры от «int» и собирать сумму этих цифр и теперь, предлагаемый код:
#include <stdio.h>
int main( void )
{
int n;
int digit;
int sum = 0;
if( scanf("%d", &n) != 1 )
{
fprintf( stderr, "scanf for initial value failed" );
return 1;
}
while( n )
{
digit = n % 10; // extract a digit
n /= 10; // reduce the working number
sum = sum + digit;
}
printf("%d\n", sum); // use '\n' so value immediately output to terminal
return 0;
}
easisest вещь сделать состоит в том, чтобы перенести Ваш код в транзакцию и затем выполнить каждый пакет строки кода T-SQL с методической точностью.
, Например,
Begin Transaction
-Do some T-SQL queries here.
Rollback transaction -- OR commit transaction
, Если Вы хотите включить обработку ошибок, можно сделать так при помощи ПОПЫТКИ... БЛОК ВЫГОДЫ. Если ошибка происходит, можно затем откатывать транзакцию в блоке выгоды.
, Например:
USE AdventureWorks;
GO
BEGIN TRANSACTION;
BEGIN TRY
-- Generate a constraint violation error.
DELETE FROM Production.Product
WHERE ProductID = 980;
END TRY
BEGIN CATCH
SELECT
ERROR_NUMBER() AS ErrorNumber
,ERROR_SEVERITY() AS ErrorSeverity
,ERROR_STATE() AS ErrorState
,ERROR_PROCEDURE() AS ErrorProcedure
,ERROR_LINE() AS ErrorLine
,ERROR_MESSAGE() AS ErrorMessage;
IF @@TRANCOUNT > 0
ROLLBACK TRANSACTION;
END CATCH;
IF @@TRANCOUNT > 0
COMMIT TRANSACTION;
GO
Дополнительную информацию см. в следующей ссылке.
http://msdn.microsoft.com/en-us/library/ms175976.aspx
Hope это помогает, но сообщите мне, нужно ли Вам больше деталей.