道歉,并提前感谢学习Visual Studio和SSM的第3天;
我试图从具有匹配的"语言"值的数据库中检索条目。我没有收到条目,而是收到一个"无效的列标头"错误,该错误暗示了我试图获得带有特定标头的列,而不是包含特定值的条目。我当然知道我本来可以错误地编写我的查询,但是无论哪种方式我都不了解。我确实知道"语言"是SQL中的一个保留单词,但是我认为我使用了适当的语法允许使用它来构建数据库。我的查询如下:
public List<Exercise> GetExercisesByLanguage(string language)
{
using (SqlConnection conn = Connection)
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = $"SELECT ExerciseId, ExerciseName, Language FROM Exercise WHERE [Language] = {language}";
SqlDataReader reader = cmd.ExecuteReader();
我希望能返回与{language}参数符合的所有练习记录的练习,练习和语言。
感谢您的时间和帮助!
尝试包装引号内的语言参数:
cmd.CommandText = $"SELECT ExerciseId, ExerciseName, Language FROM Exercise WHERE [Language] = '{language}'";