Multi-Columns AutoComplete in a TextBox Using C# and SQL Server

Multi-Columns AutoComplete in a TextBox Using C# and SQL Server

multiAutocompleteSQLfig.3

Autocomplete plays an important role in searching for data or any records in the database.

So, in this tutorial, I will teach you an advanced method of autocomplete in a textbox using C# and SQL Server.

This method has the ability to get the records in every column of the table in the database.

It is very helpful because you don’t have to exert much effort when retrieving data or records in the database.

Let’s begin:

Create a database in the SQL Server 2005 Express Edition and name it “dbplace“.

Create a table in the database that you have created.

 
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[tblplace](
 [ID] [int] IDENTITY(1,1) NOT NULL,
 [p_Country] [nvarchar](50) NULL,
 [p_City] [nvarchar](50) NULL,
 [p_ZipCode] [nchar](10) NULL,
 CONSTRAINT [PK_tblplace] PRIMARY KEY CLUSTERED 
(
 [ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

After creating the database, open Microsoft Visual Studio and create a new windows form application for c#. Then, do the form just like this.

multiAutocompleteSQLfig.1

Go to the solution explorer and hit “code view” to fire the code editor.

multiAutocompleteSQLfig.2

In the code editor, declare all classes and variables that are needed.

Note: Put “using System.Data.SqlClient;” above the namespace to access sql server library.

 //initialize all classes
 SqlConnection conn = new SqlConnection();
 SqlCommand cmd = new SqlCommand();
 SqlDataAdapter da = new SqlDataAdapter();
 DataTable dt = new DataTable();

 //declaring variables
 string query;
 int result;

After that, create a method for the autocomplete textbox.

 private void AutoSuggest()
 {
 try
 {

 //set a query for retrieving data in the database
 query = "Select * from tblplace";
 //initialize new Sql commands
 cmd = new SqlCommand();
 //hold the data to be executed.
 cmd.Connection = conn;
 cmd.CommandText = query;
 //initialize new Sql data adapter
 da = new SqlDataAdapter();
 //fetching query in the database.
 da.SelectCommand = cmd;
 //initialize new datatable
 dt = new DataTable();
 //refreshes the rows in specified range in the datasource. 
 da.Fill(dt);
 int max = dt.Columns.Count;

 txtMultiSuggest.AutoCompleteCustomSource.Clear();
 foreach (DataRow r in dt.Rows)
 {
 for (int i = 1; i < max; i++)
 {
 
 //getting all rows in the specific field|Column
 var rw = r.Field<string >(i);
 //MessageBox.Show(rw);

 //Set the properties of a textbox to make it auto suggest.
 txtMultiSuggest.AutoCompleteMode = AutoCompleteMode.Suggest;
 txtMultiSuggest.AutoCompleteSource = AutoCompleteSource.CustomSource;
 //adding all rows into the textbox
 txtMultiSuggest.AutoCompleteCustomSource.Add(rw);
 }
 } 
 }
 catch (Exception ex)
 {
 MessageBox.Show(ex.Message);
 
 }

 }

Go back to the design view, establish a connection between SQL server and C#. Then, call a method of an autocomplete textbox.

 private void Form1_Load(object sender, EventArgs e)
 {
 //set a connection between SQL server and Visual C#
 conn.ConnectionString = "Data Source=.\\SQLEXPRESS;database=dbplace;trusted_connection=true;";
 AutoSuggest();
 }

Go back to the design view again, double-click the button and do the following code for saving the data in the database.

 private void Button1_Click(object sender, EventArgs e)
 {
 try
 {
 //opening connection
 conn.Open();
 //create an insert query;
 query = "INSERT INTO tblplace (p_Country,p_City,p_ZipCode) VALUES('" + txtCountry.Text + "','" + txtCity.Text + "','" + txtZipCode.Text + "')";
 //it holds the data to be executed.
 cmd.Connection = conn;
 cmd.CommandText = query;
 //execute the data.
 result = cmd.ExecuteNonQuery();
 //validate the result of the executed query.
 if (result > 0)
 { 
 MessageBox.Show("Data has been saved in the SQL database");
 //calling a method
 AutoSuggest();

 }
 else
 {
 MessageBox.Show("SQL QUERY ERROR");
 }
 //closing connection
 conn.Close();

 }
 catch (Exception ex)//catch exeption
 {
 //displaying error message.
 MessageBox.Show(ex.Message);
 }
 }

Output:

multiAutocompleteSQLfig.3

For all students who need a programmer for your thesis system or anyone who needs a source code in any programming languages.

You can contact me @ :

Email – [email protected]
Mobile No. – 09305235027 – TNT

Download Source Code

ABOUT PROJECTPROJECT DETAILS
Project Name :Multi-Columns AutoComplete in a TextBox Using C# and SQL Server
Project Platform :C#
Programming Language Used:C# Programming Language
Developer Name :itsourcecode.com
IDE Tool (Recommended):Visual Studio 2019
Project Type :Desktop Application
Database:None
Upload Date and Time:July 28, 2016- 7:49 am

Frequently Asked Questions

What does this C# WinForms control example demonstrate?

Core Windows Forms control (TextBox, CheckBox, RadioButton, ListBox, TreeView, ProgressBar, Button, DateTimePicker, etc.) usage pattern: properties, events, data binding, common gotchas. Foundation skill for building any C# desktop application capstone.

What .NET and SQL Server versions does this project require?

Most projects in this batch use C# WinForms on .NET Framework 4.5+ (the dominant stack for tutorial sites) with SQL Server 2012 Express or higher. A few newer projects use .NET 6/7/8. To run: install Visual Studio 2019 / 2022 (Community edition is free), install SQL Server Express + SSMS, open the .sln file, build, run.

How do I set up the database for this C# project?

Open SQL Server Management Studio (SSMS) and connect to your SQL Server instance (e.g. localhost\SQLEXPRESS). Right-click Databases > Restore Database OR > New Database then import the included .sql script. Update the connection string in App.config (or in code-behind) with your server name + credentials. Rebuild and run.

Can I use this C# project for a BSIT capstone or thesis?

Yes, but extend it. A bare CRUD form is too narrow for full capstone scope. Add: role-based access (admin/staff/customer login redirect), Crystal Reports or RDLC reports, dashboard with Chart controls, audit log, multi-branch support. Pair with Chapter 1-5 documentation matching your panel’s rubric.

Why am I getting ‘connection error’ or ‘object reference not set’?

Three common C# issues: (1) Connection error: SQL Server isn’t running OR connection string in App.config has wrong server name. Open SQL Server Configuration Manager + verify SQL Server (SQLEXPRESS) service is running. (2) NullReferenceException: a control reference or DB column returned NULL, add a check or use ?? operator. (3) Build error ‘The type or namespace could not be found’: missing assembly reference, add via Project > Add Reference.

Where can I find more C# projects with source code?

Browse the C# Projects hub for the full library. For other .NET stacks see VB.NET Projects (300+ Windows Forms systems). For ASP.NET WebForms see ASP.NET Projects. For BSIT capstone idea lists see 150 Best Capstone Project Ideas.

1 thought on “Multi-Columns AutoComplete in a TextBox Using C# and SQL Server”

Leave a Comment