Я бы хотел вставлять все элементы построчно после нажатия кнопки «Отправить», но моя переменная «@DrinkName» почему-то осталась такой же и получила ошибки. Пожалуйста, посмотрите мой код и снимок экрана для лучшего понимания.
Category.aspx.cs
protected void BtnSubmit_Click(object sender, EventArgs e)
{
string connString = "sql database";
string insertCommand = "INSERT INTO tbDrinks ( DrinkName, DateOfOrder, Qty, UserName, UserCompany) " +
"values(@DrinkName, @DateOfOrder, @Qty, @UserName, @UserCompany)"; //for testing purpose
using (SqlConnection conn = new SqlConnection(connString))
{
conn.Open();
using (SqlCommand sqlcmd = new SqlCommand(insertCommand, conn))
{
sqlcmd.Parameters.AddWithValue("@DrinkName", lblCoffee.Text);
sqlcmd.Parameters.AddWithValue("@DrinkName", lblEnglishTea.Text);
sqlcmd.Parameters.AddWithValue("@DateOfOrder", DateTime.Today);
sqlcmd.Parameters.AddWithValue("@Qty", ddlCoffee.SelectedValue);
sqlcmd.Parameters.AddWithValue("@Qty", ddlEnglishTea.SelectedValue);
sqlcmd.Parameters.AddWithValue("@UserName", txtUserName.Text);
sqlcmd.Parameters.AddWithValue("@UserCompany", txtCompanyName.Text);
sqlcmd.ExecuteNonQuery();
}
}
}
Это Category.aspx
, который я создал с различным выпадающим списком для каждого элемента.
<table class="auto-style6">
<tr>
<td class="auto-style9">
<strong>
<asp:Label ID="lblCompany" runat="server" Text="Company Name : "></asp:Label>
</strong>
</td>
<td class="auto-style10">
<strong>
<asp:TextBox ID="txtCompanyName" runat="server"></asp:TextBox>
</strong>
</td>
</tr>
</table>
<table id="tbHotDrinks" class="auto-style3" border="1" bordercolor="#1FC3F3" runat="server">
<tr>
<td>
<asp:Label ID="lblCoffee" runat="server" Text="Coffee"></asp:Label>
</td>
<td class="auto-style2">
<asp:Image ID="coffee" runat="server" Height="76px" ImageUrl="~/images/coffee.gif" Width="99px" ImageAlign="TextTop" />
</td>
<td class="auto-style11">
<asp:DropDownList ID="ddlCoffee" runat="server">
<asp:ListItem>Qty</asp:ListItem>
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
<asp:ListItem>4</asp:ListItem>
<asp:ListItem>5</asp:ListItem>
<asp:ListItem>6</asp:ListItem>
<asp:ListItem>7</asp:ListItem>
<asp:ListItem>8</asp:ListItem>
<asp:ListItem>9</asp:ListItem>
</asp:DropDownList>
</td>
</tr>
<tr>
<td>
<asp:Label ID="lblEnglishTea" runat="server" Text="English Tea"></asp:Label>
</td>
<td class="auto-style2">
<asp:Image ID="Image1" runat="server" Height="76px" ImageUrl="~/images/EnglishTea.gif" Width="99px" ImageAlign="TextTop" />
</td>
<td class="auto-style11">
<asp:DropDownList ID="ddlEnglishTea" runat="server">
<asp:ListItem>Qty</asp:ListItem>
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
<asp:ListItem>4</asp:ListItem>
<asp:ListItem>5</asp:ListItem>
<asp:ListItem>6</asp:ListItem>
<asp:ListItem>7</asp:ListItem>
<asp:ListItem>8</asp:ListItem>
<asp:ListItem>9</asp:ListItem>
</asp:DropDownList>
</td>
</tr>
</table>
<asp:Button ID="BtnSubmit" runat="server" OnClick="BtnSubmit_Click" Text="Submit" />
Ниже приведен пример скриншота базы данных, который я хотел бы добавить строка за строкой.
Код, который я пробовал в Category.aspx.cs
ниже. Почему-то это все еще не правильно. Я просто хочу самый простой способ сделать это.
protected void BtnSubmit_Click(object sender, EventArgs e)
{
string connString = "Data Source";
string insertCommand = "INSERT INTO tbDrinks ( DrinkName, DateOfOrder, Qty, UserName, UserCompany) " +
"VALUES (@DrinkName, @DateOfOrder, @Qty, @UserName, @UserCompany)";
using (SqlConnection conn = new SqlConnection(connString))
{
conn.Open();
using (SqlCommand sqlcmd = new SqlCommand(insertCommand, conn))
{
sqlcmd.Parameters.AddWithValue("@DrinkName", lblCoffee.Text);
// sqlcmd.Parameters.AddWithValue("@DrinkName", lblEnglishTea.Text);
sqlcmd.Parameters.AddWithValue("@DateOfOrder", DateTime.Today);
sqlcmd.Parameters.AddWithValue("@Qty", ddlCoffee.SelectedValue);
// sqlcmd.Parameters.AddWithValue("@Qty", ddlEnglishTea.SelectedValue);
sqlcmd.Parameters.AddWithValue("@UserName", txtUserName.Text);
sqlcmd.Parameters.AddWithValue("@UserCompany", txtCompanyName.Text);
sqlcmd.ExecuteNonQuery();
}
using (SqlCommand sqlcmd1 = new SqlCommand(insertCommand, conn))
{
// sqlcmd.Parameters.AddWithValue("@DrinkName", lblCoffee.Text);
sqlcmd1.Parameters.AddWithValue("@DrinkName", lblEnglishTea.Text);
sqlcmd1.Parameters.AddWithValue("@DateOfOrder", DateTime.Today);
// sqlcmd.Parameters.AddWithValue("@Qty", ddlCoffee.SelectedValue);
sqlcmd1.Parameters.AddWithValue("@Qty", ddlEnglishTea.SelectedValue);
sqlcmd1.Parameters.AddWithValue("@UserName", txtUserName.Text);
sqlcmd1.Parameters.AddWithValue("@UserCompany", txtCompanyName.Text);
sqlcmd1.ExecuteNonQuery();
}
}
}