C# 那是obv,不是绳子,我犯了个大错。你的建议目前效果很好。我愚蠢地忘了用我实际的数据库名称替换你建议中的[数据库]。谢谢你的来访。当我尝试使用此方法时,我遇到以下错误:非静态字段需要对象引用…@TXChetG抱歉,我进行了编辑,应该是DateTime。现在

C# 那是obv,不是绳子,我犯了个大错。你的建议目前效果很好。我愚蠢地忘了用我实际的数据库名称替换你建议中的[数据库]。谢谢你的来访。当我尝试使用此方法时,我遇到以下错误:非静态字段需要对象引用…@TXChetG抱歉,我进行了编辑,应该是DateTime。现在,c#,asp.net,sql,C#,Asp.net,Sql,那是obv,不是绳子,我犯了个大错。你的建议目前效果很好。我愚蠢地忘了用我实际的数据库名称替换你建议中的[数据库]。谢谢你的来访。当我尝试使用此方法时,我遇到以下错误:非静态字段需要对象引用…@TXChetG抱歉,我进行了编辑,应该是DateTime。现在。Year,当它是实例属性时,我调用它就像调用静态属性一样。感谢您的编辑。这至少不会导致生成错误。它声称在这一点上没有返回任何记录,这相当令人困惑,因为如果我只使用2013,它就可以正常工作。@TXChetG它可能仍然需要ToString()调


那是obv,不是绳子,我犯了个大错。你的建议目前效果很好。我愚蠢地忘了用我实际的数据库名称替换你建议中的[数据库]。谢谢你的来访。当我尝试使用此方法时,我遇到以下错误:
非静态字段需要对象引用…
@TXChetG抱歉,我进行了编辑,应该是
DateTime。现在。Year
,当它是实例属性时,我调用它就像调用静态属性一样。感谢您的编辑。这至少不会导致生成错误。它声称在这一点上没有返回任何记录,这相当令人困惑,因为如果我只使用2013,它就可以正常工作。@TXChetG它可能仍然需要
ToString()
调用。查看调试器中的字符串。如果它与您使用的静态字符串相同,那么它是obv而不是字符串。我犯了一个巨大的错误。你的建议目前效果很好。我愚蠢地忘记了用我实际的数据库名称替换你建议中的[数据库]。我在原始问题中添加了更多内容,以便让你更好地了解我面临的问题。你的建议是我之前看到的参数化方法,但我还不确定如何正确地实现它。现在我看到了图片的其余部分,我认为你真的不需要参数。您必须重载ExecuteQuery方法才能接受sql参数。我在原始问题中添加了更多内容,以便您更好地了解我面临的问题。你的建议是我之前看到的参数化方法,但我还不确定如何正确地实现它。现在我看到了图片的其余部分,我认为你真的不需要参数。您必须重载ExecuteQuery方法才能接受sql参数。
var sql = @"SELECT * FROM [database] WHERE [submitDate] >= Convert(datetime,'20130301')";

var sql = @"SELECT * FROM (SELECT ROW_NUMBER() OVER(ORDER BY id)AS rowNum, * FROM [webDBs].[dbo].[employeeRecognition] WHERE [submitDate] >= Convert(datetime,'20130301')
) AS E
WHERE rowNum >= {0}
AND rowNum < {1}";
protected string RecordCount()
        {
            EmployeeRecognitionDataContext db = new EmployeeRecognitionDataContext();

            var sql = @"SELECT * FROM [database] WHERE [submitDate] >= Convert(datetime,'20130301')";

            var query = db.ExecuteQuery<employeeRecognition>(sql);

            //return "[{\"count\":\"" + query.Count() + "\"}]";
            return query.Count().ToString();
        }
 protected string SelectRecords(int startIndex, int pageSize) {

            int rowNum = startIndex + pageSize;

            EmployeeRecognitionDataContext db = new EmployeeRecognitionDataContext();

            var sql = @"SELECT * FROM (
                        SELECT ROW_NUMBER() OVER(ORDER BY id)AS rowNum, * FROM [database] WHERE [submitDate] >= Convert(datetime,'20130301')
                        ) AS E
                        WHERE rowNum >= {0} 
                        AND rowNum < {1}";

            var query = db.ExecuteQuery<employeeRecognition>(sql, startIndex, rowNum);

            List<Employee> eList = new List<Employee>();

            foreach (var employee in query)
            {
                eList.Add(new Employee { 
                    value = employee.id.ToString(),
                    firstName = employee.firstName, 
                    lastName = employee.lastName, 
                    department = employee.department,
                    drop = employee.shortAchievement, 
                    recognition = employee.longAchievement,
                    submitDate = employee.submitDate.ToString()
                });

            }

            JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();

            return serializer.Serialize(eList);
        }
   String.Format(@"SELECT * FROM [database] WHERE [submitDate] >= Convert(datetime,'{0}0301')", DateTime.Now.Year.ToString());
   string replacingThreeValues = String.Format("Replacing {0}, {1}, {2}", "one", "two", "three");
using (SqlConnection connection = new SqlConnection("<connection string>"))
{
    var cmd = connection.CreateCommand();
    cmd.CommandText = @"SELECT * FROM [database] WHERE [submitDate] >= @myDate";
    DateTime myDate = DateTime.Parse("<date string>");
    cmd.Parameters.AddWithValue("@myDate", myDate);
    var reader = cmd.ExecuteReader();
    /* etc. */
}