技術

DataGridViewのTextBoxに改行を入力する

DataGridViewのTextBoxに改行を入れたい。

DataGridViewTextBoxEditingControlのKeyPressイベントとかでAltキー+Enterキーとかのイベント拾って
改行コードをくっつける。。。とかと思いきや。。。

CellStyleのWrapModeをTrueにするだけでShiftキー+Enterキーで
改行できるようになるのね。

知らなんだ…

//セルの内容に合わせて、行の高さが自動的に調節されるようにする
DataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells;

//"Column1"列のセルのテキストを折り返して表示する
DataGridView1.Columns["Column1"].DefaultCellStyle.WrapMode =
    DataGridViewTriState.True;

SQLServerのIndex再構築

SQLServerでIndexを再構築するスクリプト。
   
DECLARE @TableName sysname, @IndexName sysname 
DECLARE @basesql nvarchar(max), @sql nvarchar(max) 
DECLARE @Edition nvarchar(max)

SET @Edition = CONVERT(nvarchar, SERVERPROPERTY('Edition'))

SET @basesql = 'ALTER INDEX [@1] On [@2] REBUILD @3'

IF PATINDEX('%Enterprise%', @Edition) > 0 
BEGIN 
    SET @basesql = REPLACE(@basesql, '@3', 'WITH (ONLINE=ON)') 
END 
ELSE 
    SET @basesql = REPLACE(@basesql, '@3', '')

DECLARE IXC CURSOR FOR 
SELECT 
    OBJECT_NAME(object_id) AS TableName 
    , name AS IndexName 
FROM 
    sys.indexes 
WHERE 
    OBJECT_SCHEMA_NAME (object_id) <> 'sys' 
    AND 
    index_id > 0 
ORDER BY 1

OPEN IXC

FETCH NEXT FROM IXC 
INTO @TableName, @IndexName

WHILE @@FETCH_STATUS = 0 
BEGIN 
    PRINT @TableName + ':' + @IndexName

    SET @sql = REPLACE(@basesql, '@1', @IndexName) 
    SET @sql = REPLACE(@sql, '@2', @TableName) 
    
    EXECUTE (@sql)

    FETCH NEXT FROM IXC 
    INTO @TableName, @IndexName    
END

CLOSE IXC 
DEALLOCATE IXC

xp_cmdshellコマンドの有効化


SQLServer上からWindowsのコマンド実行ができるコマンド
デフォルトは無効になっているので、有効化する方法です。

なお、on Linux版は、対応してません。
(Windowsのコマンド[cmd.exe]ですからね。。。)

EXEC sp_configure ‘show advanced options’, 1;
RECONFIGURE;
EXEC sp_configure ‘xp_cmdshell’, 1;
RECONFIGURE;
ギャラリー
  • 【開封の儀】HP ENVY 13 x360
  • 【開封の儀】HP ENVY 13 x360
  • 【開封の儀】HP ENVY 13 x360
  • 【開封の儀】HP ENVY 13 x360
  • 【開封の儀】HP ENVY 13 x360
  • 【開封の儀】HP ENVY 13 x360
  • 【開封の儀】HP ENVY 13 x360
  • 【開封の儀】HP ENVY 13 x360
  • 【開封の儀】HP ENVY 13 x360
pre