SSMS
 sql >> база данни >  >> Database Tools >> SSMS

Показване на броя на редовете от SQL сървър до програма

Ако имате множество заявки във вашия скриптов файл, тогава трябва да подобрите скрипта си с @rowsAffected променлива, както е показано в T-SQL по-долу. След това във вашия C# код ще трябва да извикате ExecuteScalar за да получите подробните редове, засегнати от вашия скрипт.

**Script file with @rowsAffected variable logic**

--add following variable at start of your script
DECLARE @rowsAffected VARCHAR(2000);

INSERT INTO [dbo].[Products] ([ProductName]) VALUES ('sun1'),('sun2'),('sun3');

--after each query that you want to track, include the following line
SET @rowsAffected = 'Products : ' + CAST(@@rowcount AS varchar(20));

UPDATE [dbo].[newTable]   SET [ColB] = 'b' ,[ColC] = 'd',[ColD] = 'e'  ,[ColE] = 'f'  WHERE ColA='a';

 --after each query that you want to track, include the following line
SET @rowsAffected = @rowsAffected + ', newTable : ' + CAST(@@rowcount AS varchar(20));

-- add the query below at end of your script 
SELECT @rowsAffected;

Ще трябва да прочетете текста от вашия скриптов файл, както правите в кода си, и след това да създадете команден обект, използвайки текста, прочетен от файла, преди да изпълните кода във фрагмента по-долу.

C# код за изпълнение на горния скрипт

string rowsAffected =(string) command.ExecuteScalar();
//you can now use rowsAffected variable in any way you like
//it will contain something like Table1 : 4, Table2 : 6

Подробен C# код с помощта на оригиналния ви код

    using (SqlConnection con = new SqlConnection(constr))
    {

        FileInfo file = new FileInfo(DIRECTORY OF THE SCRIPT);
        string script = file.OpenText().ReadToEnd();

        SqlCommand command = new SqlCommand(script, con);
        command.CommandType = CommandType.Text;
        try
        {
            con.Open();
            string rowsAffected =(string) command.ExecuteScalar();
            Display( rowsAffected);
            con.Close();
        }
        catch (Exception ex)
        {
            con.Close();
            Display(ex.Message);
        }
    }


  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. Свържете EF към SQL Server Management Studio

  2. SQL Server:Как да прикача/поправя отделена/повредена база данни?

  3. Дублиране на ТАБЛИЦА с помощта на управление на Microsoft SQL Server

  4. SSMS премахва коментарите преди BEGIN от моите съхранени процедури

  5. mssql '5 (Достъпът е отказан.)' по време на възстановяване на базата данни