INSERT INTO Table через ASP. NET MVC работает некорректно - PullRequest
0 голосов
/ 07 августа 2020

Я создаю проект ASP. NET MVC с подключением к серверу SQL. Запрос SELECT работает нормально, но я хочу использовать INSERT INTO, что здесь является проблемой. Все идет хорошо, страница загрузки приложения, но запись не добавляется в таблицу базы данных.

Вот мой контроллер:

public ActionResult L4Change(L4 model)
{
    var UserManager = HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>();
    var user = UserManager.FindByEmail(model.UserID);
    var userid = user.Id;
    var userfname = user.FirstName;
    var userlname = user.LastName;

    var doctor = UserManager.FindById(User.Identity.GetUserId());
    var doctorfname = doctor.FirstName;
    var doctorlname = doctor.LastName;

    string startdate = model.StartDate;
    string finishdate = model.FinishDate;
    string reason = model.Reason;
        
    string strcon = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;

    try
    {
        using (SqlConnection con = new SqlConnection(strcon))
        {
            /*String query = @"INSERT INTO [aspnet-E-Pacjent-20200804074349].[dbo].[L4] "
                                + "VALUES ('"+ userid + "', '" + userfname +"', '" + userlname +"', '" + startdate +"', '"+ finishdate +"', '"+ reason + "', '" + doctorfname +  "', '" + doctorlname + "');";*/

            String query = "INSERT INTO [aspnet-E-Pacjent-20200804074349].[dbo].[L4] VALUES(@UserID, @UserFName, @UserLName, @StartDate, @FinishDate, @Reason, @DoctorFName, @DoctorLName);";

            SqlDataAdapter da = new SqlDataAdapter();

            SqlCommand command = new SqlCommand(query, con);

            command.Parameters.Add("@UserID", SqlDbType.NChar, 255, userid);
            command.Parameters.Add("@UserFName", SqlDbType.NChar, 50, userfname);
            command.Parameters.Add("@UserLName", SqlDbType.NChar, 50, userlname);
            command.Parameters.Add("@StartDate", SqlDbType.Date, 50, startdate);
            command.Parameters.Add("@FinishDate", SqlDbType.Date, 50, finishdate);
            command.Parameters.Add("@Reason", SqlDbType.NChar, 50, reason);
            command.Parameters.Add("@DoctorFName", SqlDbType.NChar, 50, doctorfname);
            command.Parameters.Add("@DoctorLName", SqlDbType.NChar, 50, doctorlname);

            da.InsertCommand = command;

            return RedirectToAction("DoctorControl","Home");
        }
    }
    catch
    {
        return View("Error");
    }         
}

Я пробовал 2 решения Первый запрос прокомментирован, а второй выполняется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...