dotNet / Setup / Database Connection - Part3
Database Connection
-
Package
Step 1: install sqlClient
1. Go to tools -> NutGet Package Manager -> Manage NutGet Manager Solution
2. install 'System.Data.sqlClient' , version 4.8.2
-
Coding
Step 1: add connection string in appsettings.json
"ConnectionStrings": { "DefaultConnection": "Server=ACT002\\SQLEXPRESS;Database=EmployeeDB;uid=sa;password=vandiperiyar;Trusted_Connection=True;MultipleActiveResultSets=true;" }, "Logging": { "LogLevel": { "Default": "Information", "Microsoft": "Warning", "Microsoft.Hosting.Lifetime": "Information" } }, "AllowedHosts": "*" } Step2: use packages in controller
using System.Data; using System.Data.SqlClient; using Microsoft.Extensions.Configuration; Step3 : access connection string
1. Defind variable
private readonly IConfiguration _configuration; 2. inject service into constructor
public DepartmentsController(IConfiguration configuration) { _configuration = configuration; } 3. get connection string
string sqlDataSource = _configuration.GetConnectionString("DefaultConnection"); 4. Prepare query
SqlCommand command = new SqlCommand(queryString, connection); 5. create connection
using (SqlConnection connection = new SqlConnection(sqlDataSource)) { 6. execute query
Complete codeSqlDataReader reader = command.ExecuteReader(); using Microsoft.AspNetCore.Http; using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using WebApplication5.Models; using Newtonsoft.Json; using System.Data; using System.Data.SqlClient; using Microsoft.Extensions.Configuration; namespace WebApplication5.Controllers { [Route("[controller]")] [ApiController] public class DepartmentsController : ControllerBase { private readonly IConfiguration _configuration; public DepartmentsController(IConfiguration configuration) { _configuration = configuration; } // GET: /departments/ [HttpGet] public string Index() { string queryString = "SELECT * FROM Department"; string sqlDataSource = _configuration.GetConnectionString("DefaultConnection"); using (SqlConnection connection = new SqlConnection(sqlDataSource)) { SqlCommand command = new SqlCommand(queryString, connection); connection.Open(); SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { ReadSingleRow((IDataRecord)reader); } // Call Close when done reading. reader.Close(); } Department d = new Department(); d.DepartmentId = 1; d.DepartmentName = "m"; return JsonConvert.SerializeObject(d); // return Ok(jsonResult); } private static void ReadSingleRow(IDataRecord dataRecord) { Console.WriteLine(String.Format("{0}, {1}", dataRecord[0], dataRecord[1])); } } }