将 ADO.NET 与 ASP.NET MVC 一起使用时出现语法错误

Syntax error while using ADO.NET with ASP.NET MVC

我一直在学习本教程: http://www.codeproject.com/Articles/522226/ADO-NET-cplustheplusrightplusway

了解有关 ADO.NET 内部 ASP.NET MVC 的更多信息。但是如果我把下面的代码放在一个动作中

var connectionString = ConfigurationManager.ConnectionStrings["StoreCon"].ConnectionString;
        var _connection = new SqlConnection(connectionString);
        _connection.Open();

        using (var command = _connection.CreateCommand())
        {
            command.CommandText = @"SELECT * FROM dbo.group";
            using (var reader = command.ExecuteReader())
            {
                Console.WriteLine(reader[1]);
            }
        }

我尝试 运行 它,我得到一个语法错误,正如系统所说,在 "keyword group".

附近的某个地方

我是 MVC 的新手,很抱歉,如果它是微不足道的。我还添加了一个连接字符串:-

<add name="StoreCon"
 connectionString=
   "Data Source=(LocalDb)\v11.0;
    AttachDbFilename=|DataDirectory|\Items.mdf;Integrated Security=True"
     providerName="System.Data.SqlClient" />

并添加了一个名为 Items.mdf 的数据库,其中包含一个名为 dbo.group 的 table 以及一些名为 'Name' 的行和示例数据。

group是SQL中的保留字,所以需要用方括号转义:

SELECT * FROM [dbo].[group]

一般来说,最好对查询中使用的所有文字名称进行转义,以避免此类问题。

首先,你需要提供带方括号的转义组,因为它是保留关键字,

SELECT * FROM [dbo].[group]

然后根据您的评论,您需要使用 DataReader.Read 来检索这样的数据,以解决 "Invalid attempt to read when no data is present" 错误。

using (var reader = command.ExecuteReader())
{
  while (reader.Read()) 
  {
   //your code here
  }
}

第二个错误如果单独写一个问题会更好