• ConnectCsharpToMysqldan foydalanish;
  • Ma'lumotlar bazasini yaratish




    Download 1,38 Mb.
    Pdf ko'rish
    bet68/79
    Sana30.01.2024
    Hajmi1,38 Mb.
    #148346
    1   ...   64   65   66   67   68   69   70   71   ...   79
    Bog'liq
    Mundarija kirish

    Ma'lumotlar bazasini yaratish: 
    Ma'lumotlar bazasini va keyinchalik dasturda foydalanadigan 
    jadval yaratamiz. 
    Buyruq satridan biz ma'lumotlar bazasini yaratishni boshlaymiz: 
    ConnectCsharpToMysql ma'lumotlar bazasini yaratish ; 
    Keyin jadval yaratilishidan oldin foydalanish uchun ma'lumotlar 
    bazasini tanlaymiz: 
    ConnectCsharpToMysqldan foydalanish; 
    Biz dasturimizdan so'rashimiz mumkin bo'lgan jadvalni yaratamiz: 
    Create Table TableInfo

    id AVTO AVTOMOZALARNI NULL EMAS, 
    nomi VARCHAR (30), 
    yosh INT 
    PRIMARY KEY ( id) 
    ); 
    Kodlardan foydalanish. 
    Ma'lumot qo'shish va loyihadan MySQL ulagichi DLL yaratish. 
    Kodni 
    yozishni 
    boshlashdan 
    oldin , 
    bizning 
    loyihamizga mysql Reference- ni qo'shishimiz kerak . Buning uchun biz 
    loyihamiz nomini o'ng tugmasini bosing va “Add Reference” ni tanlang 
    14.2 rasm Reference qo‟shish 
    Keyin biz ro'yxatdan MySql.Data- ni tanlaymiz : AddReference 2 


    102 
    Ilovani ulagich o'rnatilmagan boshqa kompyuterlarda ishlatish uchun biz 
    ma'lumotnomadan DLL 
    yaratishimiz 
    kerak. Buning 
    uchun biz 
    loyihamizdagi mos yozuvlar nomini sichqonchaning o'ng tugmasi bilan 
    bosamiz va uning nusxasida lokal ravishda haqiqiyligini o'rnatamiz: 
     Dll qo'shiladi. 
     Sinfni yaratiladi. 
    Ma'lumotlar bazasiga ulanish uchun yangi sinf yaratish va ma'lumotlar 
    bazasiga kiradigan koddan ajratish har doim yaxshiroq. Bu bizning 
    kodimizni toza, o'qishi oson va samaraliroq bo'lishiga yordam beradi. 
    Biz MySql Connector kutubxonasini qo'shishdan boshlaymiz : 
    // MySql kutubxonasini qo'shish 
    MySql.Data.MySqlClient-dan foydalanish; 
    Keyin biz foydalanadigan o'zgaruvchini e'lon qilish va ishga tushirish:
     ulanish : 
    ma'lumotlar 
    bazasiga 
    ulanishni 
    ochishda 
    foydalaniladi. 
     server : bizning serverimiz joylashgan joyni ko'rsatadi, 
    bizning holimizda , bu localhost . 
     Ma'lumotlar bazasi : bu biz foydalanadigan ma'lumotlar 
    bazasining nomi, bizning holimizda biz oldinroq yaratgan 
    ma'lumotlar bazasi, bu connectcsharptomysql . 
     uid : bu bizning MySQL foydalanuvchi nomimiz. 
     parol : bu bizning MySQL parolimiz. 
     connectionString : ma'lumotlar bazasiga ulanish uchun ulanish 
    satrini o'z ichiga oladi va ulanish o'zgaruvchisiga tayinlanadi. 
    class DBConnect 

    private MySqlConnection connection; 
    private string server; 
    private string database; 
    private string uid; 
    private string password; 
    //Constructor 
    public DBConnect() 

    Initialize(); 

    //Initialize values 


    103 
    private void Initialize() 

    server = "localhost"; 
    database = "connectcsharptomysql"; 
    uid = "username"; 
    password = "password"; 
    string connectionString; 
    connectionString = "SERVER=" + server + ";" + 
    "DATABASE=" +
    database + ";" + "UID=" + uid + ";" + "PASSWORD=" + 
    password + ";"; 
    connection = new MySqlConnection(connectionString); 

    //open connection to database 
    private bool OpenConnection() 


    //Close connection 
    private bool CloseConnection() 


    //Insert statement 
    public void Insert() 


    public void Update() 


    public void Delete() 


    //Select statement 
    public List  [] Select() 


    //Count statement 
    public int Count() 


    104 


    //Backup 
    public void Backup() 


    //Restore 
    public void Restore() 



    Ulanishni ochish va yopish 
    Biz doimo jadvallarimizga murojaat qilishdan oldin ulanishni 
    ochishimiz va uni tugatgandan so'ng darhol o'chirib qo'yishimiz kerak, 
    bu resurslarni bo'shatish va bu ulanish endi kerak emasligini bildiradi. 
    Ma'lumotlar bazasiga ulanishni ochish va yopish juda oson, ammo har 
    doim ulanishni ochmasdan yoki yopmasdan oldin istisnolardan 
    foydalanish, xatolarni ko'rish va ular bilan shug'ullanish yaxshidir. 
    // ma'lumotlar bazasiga ochiq ulanish 
    private bool OpenConnection() 

    try 

    connection.Open(); 
    return true; 

    catch (MySqlException ex) 

    switch (ex.Number) 

    case 0: 
    MessageBox.Show("Cannot connect to server. Contact 
    administrator"); 
    break; 
    case 1045: 
    MessageBox.Show("Invalid username/password, please try 
    again"); 


    105 
    break; 

    return false; 


    private bool CloseConnection() 

    try 

    connection.Close(); 
    return true; 

    catch (MySqlException ex) 

    MessageBox.Show(ex.Message); 
    return false; 


    DML bilan ishlash (qo'shish, yangilash, tanlash, o'chirish). 
    Odatda, kiritish, yangilash va o'chirish ma'lumotlar bazasida 
    ma'lumotlarni yozish yoki o'zgartirish uchun ishlatiladi, Select esa 
    ma'lumotlarni o'qish uchun ishlatiladi. 
    Shu sababli, biz ushbu so'rovlarni bajarish uchun har xil usullarga 
    egamiz. 
    Usullari quyidagilar: 
    ExecuteNonQuery : misol uchun, har qanday ma'lumotlarni 
    qaytarib bo'lmaydi buyruqni bajarishi uchun ishlatiladi Insert , yangilash 
    yoki o'chirish. 
    ExecuteReader : 0 yoki undan ortiq yozuvlarni qaytaradigan buyruqni 
    bajarish uchun foydalaniladi, masalan Select . 
    ExecuteScalar : Faqat 1 qiymatni qaytaradigan buyruqni bajarish uchun 
    foydalaniladi, masalan, Hisoblashni tanlang ( *). 
    Ma'lumotlar bazasiga ochiq ulanish. 
    MySQL buyrug'ini yarating. 
    Buyruqqa ulanish va so'rovni tayinlang. Buni konstruktor 
    yordamida 
    yoki MySqlCommand sinfidagi Connection 
    va CommandText usullaridan foydalanib bajarish mumkin . 


    106 
    public void Insert() 

    string query = "INSERT INTO tableinfo (name, age) VALUES('John 
    Smith', '33')"; 
    if (this.OpenConnection() == true) 

    //create command and assign the query and connection from the 
    constructor 
    MySqlCommand cmd = new MySqlCommand(query, connection); 
    cmd.ExecuteNonQuery(); 
    this.CloseConnection(); 


    public void Update() 

    string query = "UPDATE tableinfo SET name='Joe', age='22' 
    WHERE name='John Smith'"; 
    if (this.OpenConnection() == true) 

    //create mysql command 
    MySqlCommand cmd = new MySqlCommand(); 
    //Assign the query using CommandText 
    cmd.CommandText = query; 
    //Assign the connection using Connection 
    cmd.Connection = connection; 
    //Execute query 
    cmd.ExecuteNonQuery(); 
    //close connection 
    this.CloseConnection(); 


    //Delete statement 
    public void Delete() 

    string query = "DELETE FROM tableinfo WHERE name='John 
    Smith'"; 
    if (this.OpenConnection() == true) 


    107 

    MySqlCommand cmd = new MySqlCommand(query, connection); 
    cmd.ExecuteNonQuery(); 
    this.CloseConnection(); 


    Endi MySQLni C ++ ga ulashni ko‟rib chiqamiz. Ma'lumotlar bazasiga 
    yordamida C / C ++ ulanish. 
    SQL (Structured Query Language) - bu to'rtinchi avlod tili (4GL) bo'lib, 
    u MBBTni aniqlash, boshqarish va boshqarish uchun ishlatiladi 
    (ma'lumotlar bazasini boshqarish tizimi). 
    Kod: 
    C: \ SQLAPI \ lib \ libsqlapiddll.a 
    C: \ Program Files \ CodeBlocks \ MinGW \ lib \ libuser32.a 
    C: \ Program Files \ CodeBlocks \ MinGW \ lib \ libversion.a 
    C: \ Program Files \ CodeBlocks \ MinGW \ lib \ liboleaut32.a 
    C: \ Program Files \ CodeBlocks \ MinGW \ lib \ libole32.a 
    Ular sizning SQLAPI ++ da topiladi (Agar siz C: drayverida ajratib 
    olmagan bo'lsangiz, tegishli joyni tanlang va bog'langan sozlamalarga 
    ushbu fayllarni qo'shing). 
    Yuqoridagi kod C / C ++ dasturini SQLAPI bilan ulash uchun 
    kutubxona fayllarini qo'shish uchun ishlatiladi. 
    Asosan, ikkita bosqich mavjud: 
    1. Ma'lumotlar bazasiga ulanish (va xatolar bilan ishlov berish) 
    // Ma'lumotlar bazasiga ulanish uchun C ++ pgroram (va xatolar 
    bilan ishlash) 
    #include
    #include 
    // main SQLAPI++ header
    int main(int argc, char* argv[])
    {
    // create connection object to connect to database
    SAConnection con;
    try 
    {
    con.Connect ("test", // database name
    "tester", // user name
    "tester", // password


    108 
    SA_Oracle_Client); //Oracle Client
    printf("Ulandi!\n");
    con.Disconnect();
    printf("Uzildi!\n");
    }
    catch(SAException & x)
    {
    try 
    {
    con.Rollback ();
    }
    catch(SAException &)
    {
    }
    printf("%s\n", (const char*)x.ErrText());
    }
    return 0;

    Ulandi ! 
    Uzildi ! 
    SQL oddiy buyrug'ini bajarish. 
    Endi biz sodda SQL so'rovini bajaramiz. Dastlab ma'lumotlar bazasi 
    uchun jadval yaratamiz : 
    create table tb1(id number, name varchar(20); 
    Endi, so'rovni 
    ma'lumotlar 
    bazasiga 
    yuborish 
    uchun
    cmd.setCommandText usulidan foydalanish kerak, u quyidagicha 
    ko'rsatiladi: 
    con.Connect("test", "tester", "tester", SA_Oracle_Client); 
    cmd.setCommandText("create table tb1(id number, name 
    varchar(20));”); 
    and now, to execute the query we have to use the following command: 
    cmd.Execute(); 
    Full Code: 
    #include
    #include  // main SQLAPI++ header
    int main(int argc, char* argv[])
    {


    109 
    SAConnection con; // connection object to connect to database
    SACommandcmd; // create command object
    try 
    {
    // connect to database (Oracle in our example)
    con.Connect("test", "tester", "tester", SA_Oracle_Client);
    // associate a command with connection
    // connection can also be specified in SACommand constructor
    cmd.setConnection(&con);
    // create table
    cmd.setCommandText("create table tbl(id number, name 
    varchar(20));");
    cmd.Execute();
    // insert value
    cmd.setCommandText("Insert into tbl(id, name) values 
    (1,”Vinay”)");
    cmd.setCommandText("Insert into tbl(id, name) values 
    (2,”Kushal”)");
    cmd.setCommandText("Insert into tbl(id, name) values 
    (3,”Saransh”)");
    cmd.Execute();
    // commit changes on success
    con.Commit();
    printf("Table created, row inserted!\n");
    }
    catch(SAException &x)
    {
    try 
    {
    // on error rollback changes
    con.Rollback();
    }
    catch(SAException &)
    {
    }
    printf("%s\n", (const char*)x.ErrText());
    }


    110 
    return 0;

    con.Commit ( );
    Yuqorida biz ma‟lumotlar bazasiga murojaatni tashkil etishda C++,C# 
    dasturlariga bog‟lash va ularni kod jixatdan taxlilini keltirib o‟tdik. 

    Download 1,38 Mb.
    1   ...   64   65   66   67   68   69   70   71   ...   79




    Download 1,38 Mb.
    Pdf ko'rish