DB 内の名前エントリの数をカウントする SQL 集計関数。
string cnnStr = ConfigurationManager.ConnectionStrings["LGFConnectionString"].ConnectionString;
string mySQL = "SELECT COUNT(*) FROM " + which.table + " WHERE " + which.column + " = ?pram;";
string value = null;
using (MySqlConnection cnn = new MySqlConnection(cnnStr))
{
using (MySqlCommand cmd = new MySqlCommand(mySQL, cnn))
{
MySqlParameter param = new MySqlParameter("?pram", MySqlDbType.VarChar, 128);
param.Value = which.text;
cmd.Parameters.Add(param);
cnn.Open();
value = cmd.ExecuteScalar() as string;
value = cmd.ExecuteScalar().ToString();
cnn.Close();
}
}
cmd.ExecuteScalar
2 回電話をかけたことに注意してください。興味深い部分は、クエリが異なる結果を返すことです。
value = cmd.ExecuteScalar() as string;
正しい値を返しません。name 列に name が存在するか存在しない場合は、両方に対して null を返します。
value = cmd.ExecuteScalar().ToString();
正しく戻ります。これは、存在する場合は「1」を返し、存在しない場合は「0」を返します。
Web を検索しても、わかりやすい説明は見つかりませんでした。
name 列に name がない場合、cmd.ExecuteScalar
が返されることを読みましたnull
。
違いは何ですか:
value = cmd.ExecuteScalar() as string;
value = cmd.ExecuteScalar().ToString();
ありがとう、deDogs