Reputation: 143
I am a new developer in ASP.NET with C#. I developed an intranet web-based suggestion application which works as a pool for the suggestions submitted by the employees in my department.
I have the following database design:
Log Table: ID, Title, Description, DateSubmitted, Username, TypeID, StatusID
SuggestionsType Table: ID, Type
SuggestionsStatus Table: ID, Status
Employee Table: Username, Name, Title
I could be able to insert the suggestion with its title, datesubmitted, description and Username through the following code:
ASP.NET Code
<div ID="contactform">
<ol>
<li>
<label for="subject">
Type</label>
<asp:DropDownList ID="DropDownList" runat="server" DataSourceID="SqlDataSource1" Width="155px"
Font-Bold="True" ForeColor="#006666" AppendDataBoundItems="false"
DataTextField="Type" DataValueField="ID" AutoPostBack="true" OnDataBound="DropDownList_DataBound">
</asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:testConnectionString %>"
SelectCommand="SELECT * FROM [SafetySuggestionsType]"></asp:SqlDataSource>
<asp:TextBox ID="TextBox1" runat="server" CssClass="text"></asp:TextBox>
<br />
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server"
ControlToValidate="dropdownlist"
ErrorMessage="Please select a type for your suggestion or choose Others and put a type for it"></asp:RequiredFieldValidator>
<asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server"
ControlToValidate="TextBox1"
ErrorMessage="Please enter a type for your suggestion"></asp:RequiredFieldValidator>
</li>
<li>
<label for="subject">
Subject</label>
<asp:TextBox ID="txtSubject" runat="server" CssClass="text"></asp:TextBox>
<br />
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
ControlToValidate="txtSubject"
ErrorMessage="Please enter a subject/title for your suggestion"></asp:RequiredFieldValidator>
</li>
<%--The following hidden field is for inserting the date--%>
<li>
<asp:TextBox ID="dateSubmitted" runat="server" CssClass="text" Visible="false"></asp:TextBox>
<br />
</li>
<li>
<label for="message">
Your Suggestion</label>
<asp:TextBox ID="txtSuggestion" runat="server" cols="50" CssClass="textarea"
rows="6" TextMode="MultiLine"></asp:TextBox>
<br />
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server"
ControlToValidate="txtSuggestion" ErrorMessage="Please enter your suggestion"></asp:RequiredFieldValidator>
</li>
<li class="buttons">
<asp:ImageButton ID="imageField" runat="server" imageurl="images/Send.gif"
OnClick="btnSubmit_Click" />
<%--<input type="image" name="imageField" id="imageField" src="images/Send.gif" />--%>
</li>
</ol>
</div>
C# Code:
string connString = "Data Source=localhost\\sqlexpress;Initial Catalog=Test;Integrated Security=True";
string insertCommand = "INSERT INTO Log (Title, DateSubmitted, Description, Username) values(@Title, @DateSubmitted, @Description, @Username)";
string username = netID;
using (SqlConnection conn = new SqlConnection(connString))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand(insertCommand, conn))
{
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@Title", txtSubject.Text);
cmd.Parameters.AddWithValue("@DateSubmitted", DateTime.Now.ToString());
cmd.Parameters.AddWithValue("@Description", txtSuggestion.Text);
cmd.Parameters.AddWithValue("@Username", username);
cmd.ExecuteNonQuery();
}
}
What I need now is to insert the value of the selected type, so how to do that?
Upvotes: 0
Views: 2593
Reputation: 143
The solution is same to what @Rohit Vyas mentioned in his solution but I just modified the following line of code:
cmd.Parameters.AddWithValue("@TypeID",typeID);
with the following:
cmd.Parameters.AddWithValue("@TypeID",DropDownList.SelectedIndex);
Upvotes: 0
Reputation: 1969
Add one more parameter for seletedType in your insert query:
string connString = "Data Source=dha00730-pmtq01\\sqlexpress;Initial Catalog=psspdbTest;Integrated Security=True";
string insertCommand = "INSERT INTO SafetySuggestionsLog (Title, DateSubmitted, Description, Username, TypeID) values(@Title, @DateSubmitted, @Description, @Username,@TypeID)";
string username = netID;
int typeID = Convert.ToInt64(DropDownList.SelectedValue);
using (SqlConnection conn = new SqlConnection(connString))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand(insertCommand, conn))
{
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@Title", txtSubject.Text);
cmd.Parameters.AddWithValue("@DateSubmitted", DateTime.Now.ToString());
cmd.Parameters.AddWithValue("@Description", txtSuggestion.Text);
cmd.Parameters.AddWithValue("@Username", username);
cmd.Parameters.AddWithValue("@TypeID",typeID);
cmd.ExecuteNonQuery();
}
}
Upvotes: 2