I m试图找到最佳(fast vs easiest)途径,进入C#中的服务器密码。
由于我从书籍中学习,我曾遇到过多条建议,通常告诉我,通过拖拉和下台这样做。 然而,由于我想在守则中首先用一栏数字获取数据,但是,在Kokery(如增加/删除一栏)中的任何重新排列令我难以确定。
例如(登峰 t,有些代码为2岁),我甚至代行特殊职能,通过q子疗法,如果其无效,则进行检查:
public static void exampleByColumnNumber(string varValue) {
string preparedCommand = @"SELECT TOP 1 [SomeColumn],[SomeColumn2]
FROM [Database].[dbo].[Table]
WHERE [SomeOtherColumn] = @varValue";
SqlCommand sqlQuery = new SqlCommand(preparedCommand, Locale.sqlDataConnection);
sqlQuery.Prepare();
sqlQuery.Parameters.AddWithValue("@varValue) ", varValue);
SqlDataReader sqlQueryResult = sqlQuery.ExecuteReader();
if (sqlQueryResult != null) {
while (sqlQueryResult.Read()) {
string var1 = Locale.checkForNullReturnString(sqlQueryResult, 0);
string var2 = Locale.checkForNullReturnString(sqlQueryResult, 1);
}
sqlQueryResult.Close();
}
}
稍后,我发现该栏中可能存在的栏目名称(用多个栏目阅读似乎比较容易,改动的顺序也很多):
public static void exampleByColumnNames(string varValue) {
string preparedCommand = @"SELECT TOP 1 [SomeColumn],[SomeColumn2]
FROM [Database].[dbo].[Table]
WHERE [SomeOtherColumn] = @varValue";
SqlCommand sqlQuery = new SqlCommand(preparedCommand, Locale.sqlDataConnection);
sqlQuery.Prepare();
sqlQuery.Parameters.AddWithValue("@varValue) ", varValue);
SqlDataReader sqlQueryResult = sqlQuery.ExecuteReader();
if (sqlQueryResult != null) {
while (sqlQueryResult.Read()) {
string var1 = (string) sqlQueryResult["SomeColumn"];
string var2 = (string) sqlQueryResult["SomeColumn2"];
}
sqlQueryResult.Close();
}
}
第3个例子是,用一栏名称,但使用......(......)确保它不负任何价值,或者在作废支票时使用。
public static void exampleByColumnNamesAgain(string varValue) {
string preparedCommand = @"SELECT TOP 1 [SomeColumn],[SomeColumn2], [SomeColumn3]
FROM [Database].[dbo].[Table]
WHERE [SomeOtherColumn] = @varValue";
SqlCommand sqlQuery = new SqlCommand(preparedCommand, Locale.sqlDataConnection);
sqlQuery.Prepare();
sqlQuery.Parameters.AddWithValue("@varValue) ", varValue);
SqlDataReader sqlQueryResult = sqlQuery.ExecuteReader();
if (sqlQueryResult != null) {
while (sqlQueryResult.Read()) {
string var1 = (string) sqlQueryResult["SomeColumn"].ToString();
DateTime var2;
DateTime.TryParse(sqlQueryResult["SomeColumn2"].ToString());
int varInt = ((int) sqlQueryResult["SomeColumn3"] == null ? 0 : (int) sqlQueryResult["SomeColumn3"];
}
sqlQueryResult.Close();
}
}
我只想到,为了这个例子,我刚刚创造了这个机会,可能会出现一些打字或一些细微的yn错,但主要问题是哪一种做法是最佳的,最坏的是谁(我知道首先是我最不喜欢的办法)。
我很快将不得不开始/重写我差不多的90k条线中的某些部分,其中至少有这3个例子被广泛使用,因此,希望获得最佳速度方法,最好是最易于维持(当然,这将是同样的做法)。
或许可以提出一些更好的选择,以便分享?