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

C# 将ADO.NET与ASP.NET MVC一起使用时出现语法错误,c#,sql,asp.net-mvc,ado.net,C#,Sql,Asp.net Mvc,Ado.net,我一直在学习本教程: 了解ASP.NET MVC中有关ADO.NET的更多信息。但是如果我把下面的代码放在一个动作中 var connectionString = ConfigurationManager.ConnectionStrings["StoreCon"].ConnectionString; var _connection = new SqlConnection(connectionString); _connection.Open();

我一直在学习本教程:

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

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]);
            }
        }
我试着运行它,我得到一个语法错误,正如系统所说,在“关键字
”附近

我是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的表,其中包含一些名为“Name”的行和示例数据。

group
在SQL中是一个保留字,因此需要使用方括号对其进行转义:

SELECT * FROM [dbo].[group]

一般来说,转义查询中使用的所有文字名称是一种很好的做法,以避免此类问题。

group
是SQL中的保留字,因此需要使用方括号转义:

SELECT * FROM [dbo].[group]

一般来说,转义查询中使用的所有文字名称是一种很好的做法,以避免此类问题。

group
是SQL中的保留字,因此需要使用方括号转义:

SELECT * FROM [dbo].[group]

一般来说,转义查询中使用的所有文字名称是一种很好的做法,以避免此类问题。

group
是SQL中的保留字,因此需要使用方括号转义:

SELECT * FROM [dbo].[group]

通常,转义查询中使用的所有文字名称是一种很好的做法,以避免此类问题。

首先,您需要为转义组提供方括号,因为它是一个保留关键字

SELECT * FROM [dbo].[group]
从您的评论中,您需要使用DataReader.Read来检索类似以下内容的数据:“在没有数据时尝试读取无效”错误

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

最好为第二个错误单独写一个问题。

首先,您需要为转义组提供方括号,因为它是一个保留关键字

SELECT * FROM [dbo].[group]
从您的评论中,您需要使用DataReader.Read来检索类似以下内容的数据:“在没有数据时尝试读取无效”错误

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

最好为第二个错误单独写一个问题。

首先,您需要为转义组提供方括号,因为它是一个保留关键字

SELECT * FROM [dbo].[group]
从您的评论中,您需要使用DataReader.Read来检索类似以下内容的数据:“在没有数据时尝试读取无效”错误

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

最好为第二个错误单独写一个问题。

首先,您需要为转义组提供方括号,因为它是一个保留关键字

SELECT * FROM [dbo].[group]
从您的评论中,您需要使用DataReader.Read来检索类似以下内容的数据:“在没有数据时尝试读取无效”错误

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


如果您为第二个错误编写一个单独的问题会更好。

尝试如下:
[dbo].[group]
因为
group
是sqlwell中的保留字,错误已修复,谢谢!但是我得到了另一个“当没有数据时无效的读取尝试”,即使我有一个相应的表和样本数据在里面!但是我得到了另一个“当没有数据时无效的读取尝试”,即使我有一个相应的表和样本数据在里面!但是我得到了另一个“当没有数据时无效的读取尝试”,即使我有一个相应的表和样本数据在里面!但我得到了另一个“当没有数据时无效的读取尝试”,即使我有一个相应的表和样本数据在里面。它工作了,谢谢!但是现在我有了另一个错误——“当没有数据存在时读取的尝试无效”,但是我确实有表和样本数据在其中。编辑:我会尽快把你的答案写对的(时间限制)@NemanjaT我已经为你的第二个错误添加了答案,但我建议你为这个错误发布一个单独的问题。@NemanjaT,你需要调用读取器上的
Read
方法:
reader.Read();Console.WriteLine(读卡器[1])Read
方法:
reader.Read();Console.WriteLine(读卡器[1])Read
方法:
reader.Read();Console.WriteLine(读卡器[1])Read
方法:
reader.Read();Console.WriteLine(读卡器[1])