道歉,并提前感谢,学习Visual Studio和SSMS的第3天;
我正在尝试从数据库中检索具有匹配“ Language”值的条目。我没有收到返回的条目,而是收到“无效的列标题”错误,该错误暗示我试图获取具有特定标题的列,而不是包含特定值的条目。我当然知道我可能不正确地编写了查询,但是我对这两种方法的了解都不足够。我确实知道“语言”是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}参数相匹配的所有运动记录的ExerciseId,ExerciseName和Language。
感谢您的时间和帮助!
答案 0 :(得分:2)
尝试将language参数包装在引号内
cmd.CommandText = $"SELECT ExerciseId, ExerciseName, Language FROM Exercise WHERE [Language] = '{language}'";