How to Do Database Connection in Selenium C#

sameer kalaria
2 min readMar 9, 2018

--

Selenium is compatible with many languages like Java, C#, Python, Perl etc. Connect with database and execute query on database is very common thing in testing.

Basic steps for connect with database and execute query is common for all languages.

  • Connect with database
  • execute query
  • return query result

Syntax is only difference in different languages. If you are using C# in selenium then please go for below code for database connection and execute query.

I have created one function for database connection and execute query on database. It will return query result into DataTable object.

public DataTable GetQueryResult(String vConnectionString, String vQuery)
{
SqlConnection Connection; // It is for SQL connection
DataSet ds = new DataSet(); // it is for store query result

try
{
Connection = new SqlConnection(vConnectionString); // Declare SQL connection with connection string
Connection.Open(); // Connect to Database
Console.WriteLine("Connection with database is done.");

SqlDataAdapter adp = new SqlDataAdapter(vQuery, Connection); // Execute query on database
adp.Fill(ds); // Store query result into DataSet object Connection.Close(); // Close connection
Connection.Dispose(); // Dispose connection
}
catch (Exception E)
{
Console.WriteLine("Error in getting result of query.");
Console.WriteLine(E.Message);
return new DataTable();
}
return ds.Tables[0];
}

Code Explanation:

Connection = new SqlConnection(vConnectionString);
Connection.Open();
It is for connect to database as per you connection string.Connection string format:ConnectionString = @"Data Source="Data Source"; Initial Catalog="Database name"; User ID="Username"; Password="Password";SqlDataAdapter adp = new SqlDataAdapter(vQuery, Connection);
adp.Fill(ds);

SqlDataAdapter is used for execute query.
Fill command is used for fill query result into DataSet object.

Connection.Close();
Connection.Dispose();

It is for Close and dispose database connection.

In above code, you can see I have return below value.

return ds.Tables[0];It is because, query will give only one table. if your query will return more thanone table then your return type should be DataSet instead of DataTable.return ds;

https://trickyautomationworld.blogspot.in/2018/03/how-to-do-database-connection-in.html

Please add comment if you have any question.

--

--