【経験の共有】C#データクエリをデバッグするための小さなテクニック.
関連投稿
次のコードを確認します.
--C#--
--データベースクエリー--
2つの異なる注釈の構文を使用します.
デバッグするときに便利です.一部を変更することなく、C#のセグメントをクエリーアナライザにコピーして直接実行できます.なぜSQL Serverが自動的にSELECTクエリーを生成するときにカンマを前に置くのか、クエリーフィールドを隠すのに便利だからだ.
--SQL--
--SQL--
--SQL--
次のコードを確認します.
--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
]