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. PHPMyAdminの新しいバージョンにより、データを編集できなくなりました

    2. アラビア文字はphpMyAdminに表示されません

    3. #1142-テーブル'pma_table_uiprefs'のユーザー''@'localhost'に対してSELECTコマンドが拒否されました

    4. 文字列が有効なDateTimephpMyAdminとして認識されませんでした