Sunday, November 29, 2015

How to connect sql server to winform application

Өнөөдрийн пост бичлэгээр өгөгдлийн сантай холбосон жижииг программын кодыг бичихээр боллоо.
1.      Form дээр datagridview болон 5 текстбокс / 1 нь хайлт хийх /, 3 / insert, update, delete /товч байрлууллаа. Button-ны backgroundImage-д логогоо оруулж, backgroundImageLayout-г Center болгож өгнө.
2.      Одоо өгөгдлийн баазаа дараах байдлаар зохион байгуулана.
Id      -   varchar(50)
Firstname – varchar(50)
Lastname – varchar(50)
age – int

Table
нэрээ alumno гэж өглөө.
3.      Өгөгдлийн баазаа visual studio-тойгоо дараах байдлаар холбоно.
Project > Add New Data Source
Database -> Next -> Data Set -> New Connection - > SQL Server
Server Name
– дээр өгөгдлийн сангийн нэрийг бичнэ.
Жишээ нь: PC-NAME\SQLEXPRESS
Select or enter a database name:
дээр байгуулсан өгөгдлийн баазаа сонгоно.
Т
est Connection > OK -> Next
Өгөгдлийн сангийн table-аа сонгоод Next хийнэ.
4.      Одоо шинээр класс үүсгэнэ.
using System.Data.SqlClient;

class alumno {
SqlConnection miCon;
public void Connecter(){
miCon = new SqlConnection(“
Энэ хэсэгт  өгөгдлийн сангийн properties ->  Data Soure хэсгийн хуулж тавина. \\ хаалтыг мартаж болохгүй! ”);
miCon.Open();
}
public void Disconnecter(){
miCon.Close();
}
public void EjectSql(String query){
SqlCommand miCommand = new SqlCommand(quert,  this.miCon);
int checker = miCommand.ExecuteNonQuery();
if(checker > 0)
Messagebox.Show(“Connected!”);
 else MessageBox.Show(“Cant Connected!”);
}
public void ActualGrid(DataGridView dg, String Query){
DataSet ds = new DataSet();
this.Connecter();
SqlDataAdapter Da = new SqlDataAdapter(Query, miCon);
Da.Fill(ds, “alumno”);
dg.DataSource = ds;
dg.DataMember = “alumno”;
this.Disconnecter();
}
}
5.      Одоо үндсэн цонхны Form_Load үзэгдэл дээр классаа дуудана.
alumno ob = new alumno();
ob.ActualGrid(this.datagridview1, “select * from alumno”);
6.      Datagridview дээр дараах тохиргоонуудыг хийнэ.
Datagridview -> ReadOnly = true;
 
SelectionMode-> FullRowSelect
AllowUserToAddRows = false;
ColumnHeadersHeightSIzeMode = AutoSize
7.      Alumno alData = new alumno();
нэмэх функцын код дээр
{
alData.connecter();
String Query = “Insert  into alumno (id, firstname, lastname, age) values (“ + txt_id.Text + “’,’” + txt_fname + “’, ‘” + txt_lname + “’,’” + txt_age “);”;
alData.EjectSql(Query);
// table refresh
alData.ActualGrid(this.datagridview1, “select * from alumno;”);
alData,Disconnecter();
this.clearText();
}
public void clearText(){
 txt_id = “”;
txt_fname =””;
txt_lname =””;
txt_age=””;
}
8.      Update хийх товчны үзэгдэл дээр:
String s_id=””;
boolean editar;
{

editar = true;
s_id = this.datagridview1.CurrentRow.Cells[0].Value.ToString();

txt_fname.Text = this.datagridvew1.CurrentRow.Cells[1].Value.ToString();
txt_lname.Text = this.datagridview1.CurrentRow.Cells[2].value.ToString();
txt_age.Text = this.datagridview1.CurrentRow.Cells[3].value.ToString();
}

Form_Load
үзэгдэл дээр editar = false; болгоно.
Insert товчны үзэгдэл дээр засвар орсон эсэхийг шалгаад нэмж хадгалах кодыг бичнэ.
// нэмэх товчны код дээр нэмж бичих
if(editar) {
alData.Connecter();
String Query = “update alumno set firstname =’” + txt_fname.Text + “’, lastname =’“ + txt_lname.Text + “’, age = “  + txt_age.Text “ where id =  ‘“ + s_id + “’;”;
alData.EjectSql(Query);
alData.ActualGrid(this.datagridview1, “select * from alumno;”);
alData.Disconnect();
this.clearText();
editar = false;
}
9.      Одоо баазаа хайлт хийх кодыг бичнэ. Search хийх текстбокс байгаа ба түүний KeyUp үзэгдэл дээр код бичнэ.
alData.ActualGrid(this.datagridview1, “select  * from alumno where firstname like ‘” + txt_Search.Text + “%’;”);

10.  Одоо Delete button-ны кодыг бичвэл:
{

s_id = this.datagridview1.currentRow.Cells[0].Value.ToString();
var res = Messagebox.Show(“Are you sure to Delete?”,”Confirm”, MessegeBoxButtons.YesNo, MessageBoxIcon.Question);
if( res == DialogResult.Yes){
alData.Connecter();
String query = “delete * from alumno where id=”’ + s_id + “’;
 alData.EjectSql(query);
alData.ActualGrid(this.datagridview1, “select  * from alumno;”);
alData.Disconnecter();
}



No comments:

Post a Comment