命名的' CommandType'在当前上下文中不存在

时间:2016-01-18 06:45:31

标签: c# sql asp.net .net asp.net-mvc

有人可以帮助我理解为什么我会在这里收到错误吗?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Threading.Tasks;
using System.Data.SqlClient;
using System.Configuration;

namespace JsPractice.Controllers
{
    public class SolutionController : Controller
    {

        public ActionResult Index ( )
        {

            return View();
        }

        [HttpPost]
        public ActionResult CreateNew ( int problem_id, string solver, string solution_code, string test_code )
        {
            // Going to move this to controller later .. 
            using ( SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["LocalJsPracticeDb"].ConnectionString) )
            {
                using ( SqlCommand cmd = new SqlCommand("AddSolution", con) )
                {
                    cmd.CommandType = CommandType.StoredProcedure;
                    cmd.Parameters.AddWithValue("@problem_id", problem_id);
                    cmd.Parameters.AddWithValue("@solver", solver);
                    cmd.Parameters.AddWithValue("@solution_code", solution_code);
                    cmd.Parameters.AddWithValue("@test_code", test_code);
                    con.Open();
                    cmd.ExecuteNonQuery();
                }

            }
            return View();
        }

    }
}

根据文档https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.commandtype(v=vs.110).aspx,我不知道我做错了什么,因为我已经包含System.Data.SqlClient

4 个答案:

答案 0 :(得分:11)

您错过了包含System.Data命名空间。因此,添加以下内容,您将解决您的问题。

using System.Data;

答案 1 :(得分:1)

对于这些错误,请右键单击错误字并说出“解决”。如果在项目中引用了定义程序集,则所有错误都将出现。

答案 2 :(得分:1)

你错过了命名空间。添加以下行。

using System.Data;

它将解决您的问题。

答案 3 :(得分:-1)

在页面顶部添加using System.Data或只需点击命令类型 - 在那里你可以看到像灯泡一样的图标,点击它并添加using System.Data;