[英]Syntax error while using ADO.NET with ASP.NET MVC
我一直在关注本教程: http : //www.codeproject.com/Articles/522226/ADO-NET-cplustheplusrightplusway
在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]);
}
}
并尝试运行它,如系统提示,在“关键字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的表,其中包含一些名为“名称”的行和示例数据。
首先,您需要为转义组提供方括号,因为它是保留关键字,
SELECT * FROM [dbo].[group]
然后从您的注释中使用DataReader.Read来检索这样的数据,以解决“没有数据时尝试无效读取”错误。
using (var reader = command.ExecuteReader())
{
while (reader.Read())
{
//your code here
}
}
如果您为第二个错误写一个单独的问题会更好。
group
是SQL中的保留字,因此您需要使用方括号将其转义:
SELECT * FROM [dbo].[group]
通常,最好避免在查询中使用所有文字名称,以免发生此类问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.