我试图将表单变量放入数据库中,但是,我在这些方面仍然非常新,而且我只是尝试从互联网上随机复制粘贴的代码来学习。 这是唯一给我带来问题的东西
@using WebMatrix.Data;
@using WebMatrix.WebData;
@using System.Data.SqlClient;
@{
ViewBag.Title = "Recruta";
}
@{
var Nome = "";
var Email = "";
var Tel = "";
var Adress = "";
var Gender = "";
Nome = Request.Form["Nome"];
Email = Request.Form["Email"];
Tel = Request.Form["Tel"];
Adress = Request.Form["Adress"];
Gender = Request.Form["Gender"];
var db = Database.Open("Usuarios");
var insertCommand = "INSERT INTO Usuarios (Nome, Email, Tel, Adress, Gender) Values(@0, @1, @2, @3, @4)";
db.Execute(insertCommand, Nome, Email, Tel, Adress, Gender);
Response.Redirect("~/Usuarios");
}
这是vs提供的信息:
An exception of type 'System.Data.SqlClient.SqlException' occurred in System.Data.dll but was not handled in user code
Additional information: The database 'c:\users\softinsa\documents\visual studio 2015\Projects\Best_prototype_01\Best_prototype_01\App_Data\Usuarios.mdf' cannot be opened because it is version 851. This server supports version 706 and earlier. A downgrade path is not supported.
Cannot attach the file 'c:\users\softinsa\documents\visual studio 2015\Projects\Best_prototype_01\Best_prototype_01\App_Data\Usuarios.mdf' as database 'c:\users\softinsa\documents\visual studio 2015\Projects\Best_prototype_01\Best_prototype_01\App_Data\Usuarios.mdf'.
这就是错误显而易见的地方:
db.Execute(insertCommand, Nome, Email, Tel, Adress, Gender);
如果我发布一个愚蠢的问题,我很抱歉,正如我所说,我在asp.net和它的工作中仍然很新鲜。
感谢您阅读本文,希望您能提供帮助。
修改 我尝试使用The database cannot be opened because it is version 782. This server supports version 706 and earlier. A downgrade path is not supported上的解决方案 并且它们都没有为我工作,我使用VS社区版2015,默认情况下连接已经是(LocalDB)\ MSSQLLocalDB,所以这里不是问题。
答案 0 :(得分:2)
首先,永远不要在ASP.NET MVC视图中编写业务逻辑。
其次,例外很清楚:
数据库' ...'无法打开,因为它是版本851.此服务器支持版本706和更早版本。不支持降级路径。
您没有在该系统上运行正确版本的SQL Server。您正在尝试打开比安装的更新的数据库文件格式版本。安装正确版本的SQL Server,或降级数据库文件格式。
这是您使用Visual Studio 2015更新2的might be related。