Insert danych z formularza HTML do bazy danych MSSQL nie działa

0

Witajcie,

próbuje dodać dane do bazy poprzez formularza HTML ASP.Net. Używam do tego celu dapper'a. lecz po kliknięciu na przycisk widać że strona myśli ale baza danych nadal jest pusta.

Kod cs:

public partial class VacationsPage : System.Web.UI.Page
    {
        protected void btn_Click(object sender, EventArgs e)
        {
            insertVacation();
        }

        private void insertVacation()
        {
            using (SqlConnection conn = new SqlConnection(@"Data Source=LAP100MK\SQLSERVER;Initial Catalog=VacationsDB;User Id=Admin;Password=****************"))
            {
                try
                {
                    if (conn.State == System.Data.ConnectionState.Closed)
                    {
                        conn.Open();
                    }

                    DynamicParameters parametry = new DynamicParameters();
                    string UserName = userName.Text;
                    var date1 = StartDate.Text;
                    DateTime dateS = DateTime.Parse(date1);
                    var date2 = EndDate.Text;
                    DateTime dateE = DateTime.Parse(date2);
                    string Superior = superior.Text;
                    parametry.Add("@userName", UserName);
                    parametry.Add("@vStart", dateS);
                    parametry.Add("@vEnd", dateE);
                    parametry.Add("@superior", Superior);
                    conn.Execute("newVacation", parametry, commandType: System.Data.CommandType.StoredProcedure);
                    conn.Close();
                }
                catch (Exception)
                {
                    Console.WriteLine("xxxxxxx");
                }
            }
        }
    }

Kod HTML:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="VacationsPage.aspx.cs" Inherits="VacationsApp.VacationsPage" %>

<!DOCTYPE html>
<html> 
<head id="Head"  runat="server">
    <title>Test</title>
</head> 
<body>  
     <form  id="form1"  runat="server">  
        <label>Username</label> <asp:TextBox ID="userName" runat="server" /> <br>
        <label>Date of start</label> <asp:TextBox ID="StartDate" runat="server" placeholder="From" type="date"></asp:TextBox> <br>
        <label>End date</label> <asp:TextBox ID="EndDate" runat="server" placeholder="From" type="date"></asp:TextBox> <br>
        <label>Superior</label> <asp:TextBox ID="superior" runat="server" /> <br>
        <asp:Button  ID="btn"  runat="server" Text="Send vacation form" onclick="btn_Click"/> 
    </form>  
</body> 
</html> 

Procedura:

ALTER procedure [dbo].[newVacation] (@userName nchar(30), @vStart date, @vEnd date, @superior nchar(30))
as
insert into VacationsDB (userName, vacationStart, vacationEnd, superior)
values (@userName, @vStart, @vEnd, @superior)
0

Okej, nie ważne, niepotrzebnie robie parse daty. Ale po tym wyskakuje kolejny błąd:

screenshot-20190808123156.png

0

Nie ważne przepraszam za spam, mam błąd w procedurze zamiast nazwy tabeli podałem nazwę bazy.

Temat do usunięcia, zamknięcia.

0
kain555 napisał(a):

/ciach/

Procedura:

ALTER procedure [dbo].[newVacation] (@userName nchar(30), @vStart date, @vEnd date, @superior nchar(30))
as
insert into VacationsDB (userName, vacationStart, vacationEnd, superior)
values (@userName, @vStart, @vEnd, @superior)

Tak, tylko 3 grosze...

Jaki jest sens tworzenia takich procedur składowanych?
Ja go zupełnie nie widzę i uważam to za poważny błąd.
Równie dobrze mógłbyś to insert into wykonać w kodzie.
Albo (jeszcze lepiej?) zaprząc do tego jakiegoś ORMa.

Ale procedura składowana do takiego celu?
To typowa "armata na muchę"...

1 użytkowników online, w tym zalogowanych: 0, gości: 1