ListBox save multiple selected item into Database
This example shows the basics on how to save multiple selected items from the ASP.Net ListBox control to the database in ASP.Net. Please note that this example requires a basic knowledge of ADO.NET.
STEP1: Setting up the User Interface (GUI)
For the simplicity of this demo, I just set up the web form like below:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Page</title>
</head>
<body>
<form id="form1" runat="server">
<div>
Student Names: <br />
<asp:ListBox ID="ListBox1" runat="server" Height="149px" SelectionMode="Multiple" Width="113px">
<asp:ListItem>Ram</asp:ListItem>
<asp:ListItem>Sham</asp:ListItem>
<asp:ListItem>Ravi</asp:ListItem>
<asp:ListItem>Sachin</asp:ListItem>
<asp:ListItem>Gopal</asp:ListItem>
<asp:ListItem>Sani</asp:ListItem>
</asp:ListBox>
</div>
<br />
<asp:Button ID="Button1" runat="server" Text="Save" onclick="Button1_Click" />
</form>
</body>
</html>
Note:
* Since the ListBox is intended for multiple item selections then we need to set the SelectionMode attribute of the ListBox to Multiple
* To do multiple Selections in the ListBox then just hold Ctrl key and select the items you want.
STEP 2: Creating a Simple Database Table
* To do multiple Selections in the ListBox then just hold Ctrl key and select the items you want.
STEP 2: Creating a Simple Database Table
Add the following namespaces below:
using System.Data.SqlClient;
using System.Collections.Specialized;
using System.Text;
Here are the code blocks below:
private string GetConnectionString()
{
//Where DBConnection is the connetion string that was set up in the web config file
return System.Configuration.ConfigurationManager.ConnectionStrings["DBCon"].ConnectionString;
}
private void InsertRecords(StringCollection sc)
{
SqlConnection conn = new SqlConnection(GetConnectionString());
StringBuilder sb = new StringBuilder(string.Empty);
foreach (string item in sc)
{
const string sqlStatement = "INSERT INTO Table1 (Students) VALUES";
sb.AppendFormat("{0}('{1}'); ", sqlStatement, item);
}
try
{
conn.Open();
SqlCommand cmd = new SqlCommand(sb.ToString(), conn);
cmd.CommandType = CommandType.Text;
cmd.ExecuteNonQuery();
Page.ClientScript.RegisterClientScriptBlock(typeof(Page), "Script", "alert('Records Successfuly Saved!');", true);
}
catch (System.Data.SqlClient.SqlException ex)
{
string msg = "Insert Error:";
msg += ex.Message;
throw new Exception(msg);
}
finally
{
conn.Close();
}
}
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
StringCollection sc = new StringCollection();
foreach (ListItem item in ListBox1.Items)
{
if (item.Selected)
{
sc.Add(item.Text);
}
}
InsertRecords(sc);
}
Output:
Thank You

No comments:
Post a Comment