一个 SQL 聚合函数,用于计算 DB 中名称输入的数量。
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
了两次电话。有趣的部分是查询返回不同的结果。
value = cmd.ExecuteScalar() as string;
不返回正确的值。如果 name 列中存在或缺少 name,则返回 null。
value = cmd.ExecuteScalar().ToString();
正确返回。如果存在则返回“1”,如果缺失则返回“0”。
在网上搜索,我没有找到可以理解的解释。
我已经读过,如果 name 列中缺少 name,那么cmd.ExecuteScalar
将返回null
.
有什么区别:
value = cmd.ExecuteScalar() as string;
value = cmd.ExecuteScalar().ToString();
谢谢你,德狗