【経験の共有】C#データクエリをデバッグするための小さなテクニック.


関連投稿
次のコードを確認します.
--C#--

    
    
    
    
/// <summary>
///
/// </summary>
/// <param name="username"> </param>
/// <param name="city"> </param>
/// <returns> </returns>
private bool AppendUserInfo( string username, string city)
{
string connectionString = " Server=MyServer;Database=MyDatebase; " ;
using (SqlConnection connection = new SqlConnection(connectionString))
{
/*
DECLARE @UserName varchar(16)
DECLARE @City varchar(16)
SET @UserName = 'zswang' --
SET @City = ' ' --
--
*/ SqlCommand command = new SqlCommand( @"
INSERT INTO UserInfo(@UserName, @City)--
" , connection);
command.Parameters.Add(
" @UserName " , SqlDbType.NVarChar, 16 ).Value = username;
command.Parameters.Add(
" @City " , SqlDbType.NVarChar, 16 ).Value = city;
try
{
connection.Open();
command.ExecuteNonQuery();
}
catch
{
return false ;
}
}
return true ;
}


--データベースクエリー--

    
    
    
    
DECLARE @UserName varchar ( 16 )
DECLARE @City varchar ( 16 )
SET @UserName = ' zswang ' --
SET @City = ' ' --
--
*/ SqlCommand command = new SqlCommand(@"
INSERT INTO UserInfo( @UserName , @City ) -- ", connection);


2つの異なる注釈の構文を使用します.
デバッグするときに便利です.一部を変更することなく、C#のセグメントをクエリーアナライザにコピーして直接実行できます.なぜSQL Serverが自動的にSELECTクエリーを生成するときにカンマを前に置くのか、クエリーフィールドを隠すのに便利だからだ.
--SQL--

    
    
    
    
SELECT [ ID ]
,
[ UserName ]
,
[ City ]
FROM [ UserInfo ]


--SQL--

    
    
    
    
SELECT [ ID ]
-- ,[UserName]
, [ City ]
FROM [ UserInfo ]


--SQL--

    
    
    
    
SELECT [ ID ]
-- ,[UserName]
-- ,[City]
FROM [ UserInfo ]