MySQL のクエリ ログを見ると、パラメータが追加されていません。これが私のコードです:
MySqlConnection conn = new MySqlConnection(ApplicationVariables.ConnectionString());
MySqlCommand com = new MySqlCommand();
try
{
conn.Open();
com.Connection = conn;
com.CommandText = String.Format(@"SELECT COUNT(*) AS totalViews
FROM pr_postreleaseviewslog AS prvl
WHERE prvl.dateCreated BETWEEN (@startDate) AND (@endDate) AND prvl.postreleaseID IN ({0})"
, ids);
com.CommandType = CommandType.Text;
com.Parameters.Add(new MySqlParameter("@startDate", thisCampaign.Startdate));
com.Parameters.Add(new MySqlParameter("@endDate", endDate));
numViews = Convert.ToInt32(com.ExecuteScalar());
}
catch (Exception ex)
{
}
finally
{
conn.Dispose();
com.Dispose();
}
クエリ ログを見ると、次のように表示されます。
SELECT COUNT(*) AS totalViews
FROM pr_postreleaseviewslog AS prvl
WHERE prvl.dateCreated BETWEEN (@startDate) AND (@endDate) AND prvl.postreleaseID IN (1,2)
私は無数のプロジェクトで MySQL .NET コネクタを使用してきました (実際には、これらの接続を開いたり、トランザクションで閉じたりする基本クラスがあります)。しかし、私はこのアプリケーションを引き継いで、今ここにいます。
助けてくれてありがとう!