C# | Daolekwan

Tạo một lớp ConnectDatabase.cs

class ConnectMSDB

{

SqlConnection conn;

// mở kết nối

public void connect()

{

if (conn == null)

conn = new SqlConnection(@”Data Source=WINDWALK-PC\SQLEXPRESS;InitialCatalog=QLPhongKhamTu;User ID=sa;Password=123456″);

if(conn.State == ConnectionState.Closed)

conn.Open();

}

  // đóng kết nối

public void disconnect()

{

if((conn != null) && (conn.State == ConnectionState.Open))

conn.Close();

}

// trả về một DataTable .

public DataTable getDataTable(string sql)

{

connect();

SqlDataAdapter da = new SqlDataAdapter(sql,conn);

DataTable dt = new DataTable();

da.Fill(dt);

disconnect();

return dt;

}

// thực thi câu lệnh truy vấn insert,delete,update

public void ExecuteNonQuery(string sql)

{

connect();

SqlCommand cmd = new SqlCommand(sql,conn);

cmd.ExecuteNonQuery();

disconnect();

}

  // trả về DataReader

public SqlDataReader getDataReader(string sql)

{

connect();

SqlCommand com = new SqlCommand(sql,conn);

SqlDataReader dr = com.ExecuteReader();

return dr;

}

}

Sử dụng  lớp kết nối.Ta khai báo một đối tượng thuộc lớp kết nối ConnectDatabase

ConnectDatabase condb = new ConnectDatabase();

Sử dụng phương thức của lớp kết nối để load dữ liệu lên DataGridView

public void showData(){

string sql = “select MaBN,TenBN,Convert(varchar,Namsinh,3),Diachi,Gioitinh,Sodienthoai from Benhnhan”;

DataView dv = new DataView(condb.getDataTable(sql));

DataGridView1.DataSource = dv;

DataGridView1.AutoResizeColumns();

}

Chèn dữ liệu vào database

private void btnAdd_Click(object sender, EventArgs e){

string sql = “INSERT INTO Benhnhan VALUES(‘” +txtTenBN.Text+ “‘, ‘” +txtNamsinh.Text+ “‘,'” +txtDiachi.Text+ “‘, ” +txtGioitinh.Text+ ” ,'” +txtSodienthoai.Text+ “‘ )”;

con.ExecuteNonQuery(sql);

MessageBox.Show(“Insert Successfully!!”);

showData();

}

Sử dụng chức năng AutoComplete textbox với dữ liệu load từ database.Khi ta gõ vào textbox nó sẽ hiện ra từ khóa gợi ý với dữ liệu lấy từ database.

public void loadDataToCollection(){

string sql = “select TenBN from Benhnhan”;

SqlDataReader reader = con.getDataReader(sql);

AutoCompleteStringCollection auto = new AutoCompleteStringCollection();

if (reader != null)

{

while (reader.Read())

{

auto.Add(reader[“TenBN”].ToString());

}

}

txtSearch.AutoCompleteMode = AutoCompleteMode.SuggestAppend;

txtSearch.AutoCompleteSource = AutoCompleteSource.CustomSource;

txtSearch.AutoCompleteCustomSource = auto;

reader.Close();

}

private void Form1_Load(object sender, EventArgs e){

loadDataToCollection();

}

*Note: ta có thể lưu trữ chuỗi kết nối bằng cách tạo ra file App.config

<?xml version=”1.0″ encoding=”utf-8″ ?><configuration>

<appSettings>

<add key=”conStr” value=”Data Source=WINDWALK-PC\SQLEXPRESS;Initial Catalog=QLPhongKhamTu;User ID=sa;Password=123456″/>

</appSettings>

</configuration>

Muốn lấy chuỗi kết nối ta cần thêm thư viện System.Configuration

Using System.Configuration;
SqlConnection objcon = new SqlConnection();objcon.ConnectionString = ConfigurationSettings.AppSettings[“conStr”];

Từ khóa » Câu Lệnh Truy Vấn Sql Trong C#