ලොකු Help එකක් මචන්ල

hiranlahiru2015

Well-known member
  • May 6, 2015
    1,341
    747
    113
    Gampaha
    ලොකු Help එකක් මචන්ල

    how to connect access database to visual studio 2010

    ගොඩක් Try කලා හරියන්නෙ නෑ. පොඩි Example Project එකක් දාන්න පුලුවන්ද මචන්ල.

    Rep for even Bump :)
     

    MihiCherub

    Well-known member
  • Sep 14, 2009
    18,939
    1
    9,740
    113
    Gampaha
    මුලින්ම project එක develop කරගන්න Microsoft Visual C# IDE එකයි, Mycrosoft access server එකයි download කරල install කරගන්න.Visual C# server use කරනවා නම් config එක හරියට කරගන්න. config කරනකොට අනිවාර්‍යෙන්ම username එක විදියට root සහ password එක විදියට 123 දෙන්න. හැම තිස්සෙම ඒ විදියට config කරගන්න ඕනෙ නෑ.
    කැමති username & password එකක් දෙන්න පුලුවන්. නමුත් සාමන්‍ය projects වලට ඒ විදියට කලාම හොදයි.

    C# Intermediate විදියට ත්‍රෙඩ් එක දැන්මෙ ඔය දේවල් කරගන්න දැනුම තියෙන්නෙ ඕනෙ.
    අනික ඔය සම්බන්ද දේවල් hello world program එකේ ඉදන්ම මුල ඉදලම ඕනෙ තරම් videos, pdf, documents තියෙනව. තව object oriented concepts, variable handling, methods calling වගේ basic දේවල් දැනගෙන ඉන්නව නම් වැඩේ ලේසියි.
    ඒව ගැන මම ආයිත් ලියන එක කිසිම තේරුමක් නෑ. මොකද pdf තියෙනව දුසිම් ගනනින්. අනික campus එකේ theory knowledge එක ලබාගන්න ඇති. practical knowledge එක නැති නිසානෙ හිර වෙලා ඉන්නෙ. මුල දේවල් සම්බන්ද ප්‍රශ්න තියෙනව නම් විතරක් දාන්න. දන්න විදියට කියල දෙන්නම්. එහෙනම් පටාන් ගමු.

    System Requirements

    1.Microsoft Visual C# 2010 +
    2.Microsoft SQL server 2008+
    3.Microsoft Access 2007+
    4.[dot]Net Framework 3.5 +


    Hour 01 - Creating New Project

    මුලින්ම අලුත් project එකක් open කරගන්න.
    File > New > Project (Ctrl+Shift+N)

    i_zpsc1c4e456.jpg

    figure 1.0

    Select > Windows Forms Application
    Name - StudentRegistration
    OK


    ii_zps16122b8c.jpg

    figure 1.1

    Final preview

    iii_zps15cc6cf8.jpg

    figure 1.2


    ගොඩක්ම C# apps හදන්නෙ visual C# inbuilt db එක use කරල. ඒත් Microsoft access use කරන එක තමා ලේසිම. ගොඩක් projects වලට use කරන්න කියන්නෙත් accessනෙ. db connection එක හදාගන්න අමතර codes ටිකක් ඕනෙ වෙනව. ඒත් ඒ codes අපි ලියන්න ඕනෙ නෑ. sql class library එක හරහා import කරල ඒ codes ගන්න පුලුවන්.

    මුලින්ම මේ Library එක DL කරගන්න.


    Download C# SQL Library 5.0.9.0


    හරි දැන් කලින් Visual C# IDE එකේ Create කරගත්ත StudentRegistration Project එකට මේ library එක දාල code එක ලියාගමු.

    අලුත් db class එකක් හදා ගන්න.
    Right click StudentRegistration > Add > New Item


    20_zpsc0f4b236.jpg

    figure 2.5

    Select Class > Class Name එක විදියට db.cs දාන්න. Add.

    21_zps4b47d122.jpg

    figure 2.6

    හරි දැන් library එක දාගමු
    Right Click References > Add Reference


    22_zps8f640556.jpg

    figure 2.7

    Select Browse > Select downloaded library > ok

    23_zps8666ab93.jpg

    figure 2.8

    හරි දැන් Code එක ලියමු. code එක එකපාර copy paste කරල දැන්මොත් සදා අනාතයි. ඒ නිසා තේරුමක් ඇතිව ලියමු. indent කරල Step by step පැහැදිලිව ලියන්න. ඒ වගේම මෙතනදි මම හැම code එකක්ම ලියන්න වෙන්න නැති බවත් පැහැදිලි කරල දෙනව. ඒවගේම සමහර codes generate කරගන්න විදියත් දානව. ඒ නිසා Step by step කරන්න. එකපාර copy paste කලොත් ඒව දැන ගන්න බැරි වෙනව.

    db.cs file එක double click කරල open කරගන්න.

    මුලිනම references වලට දාගත්ත library එක import කරගන්න ඕනෙ. දැනට තියෙන imports වලට යටින්ම import කරගන්න.


    Code:
    using System.Data.OleDb;
    දැන් Static connection එකක් හදාගන්න ඕනෙ. ඒකට db class එක ඇතුලේ උඩින්ම Static connection එක හදාගන්න.

    Code:
    static OleDbConnection con;
    දැන් insert, update, delete queries වලට එක method එකකුත් search query එකට තව method එකකුත් ලියාගමු. අපිට හැම query එකක්ම මෙතන ලියන්න බෑ. මොකද එක එක තැන්වලදි යවන query වර්ග වෙනස් වෙන නිසා. ඒ නිසා ඔක්කොම queries වලට හරියන විදියට පැරා වල String එකක් අල්ලගන්න පුලුවන් විදියට method එක ලියාගන්න.

    for insert, update, delete queries. මේ Method එකෙන් නැවත result එකක් බලාපොරොත්තු වෙන්නෙ නැති නිසාත්, method එක හරහා data db එකට යවන නිසා method එක මේ විදියට හදාගන්න.


    Code:
    public static void setData(String s) {
    }
    for search query. මේ Method එකෙන් නැවත result එකක් බලාපොරොත්තු වෙනව. මොකද අපි Search කරන result එක නැවත අපි search කරපු තැනට අරගන්න ඕනෙ. ඒ නිසා return කරගන්න පුලුවන් විදියෙ method එකක් හදාගන්න.
    Code:
    public static OleDbDataReader getData(String c){
        return null;
    }
    හරි දැන් setData method එක ඇතුලට දන්න කියන codes ටික දාගන්න. exception එකක් throw වෙන නිසා exception handle කරන්න කියල try catch එකක් දාලම දාන්න.

    Code:
    try{
        con = new OleDbConnection();
        con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\temp\\students.mdb";
        con.Open();
        OleDbCommand command = new OleDbCommand(s, con);
        command.ExecuteNonQuery();
    }
    catch (Exception ex){
        System.Console.WriteLine(ex.Message);
    }
    දැන් getData method එක ඇතුලට දන්න කියන codes ටික දාගන්න.

    Code:
    con = new OleDbConnection();
    con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\temp\\students.mdb";
    con.Open();
    Search කරල එන result එක අල්ලගන්න ඕනෙ නිසා resultset එකක් ඕනෙ වෙනව. මේක තමයි අපි search query එක එවපු තැනට ආයිත් return කරන්නෙත්.
    Code:
    OleDbCommand command = new OleDbCommand(c, con);
    OleDbDataReader reader = command.ExecuteReader();
    return reader;
    getData method එක මෙන්න මේවිදියට තියෙන්න ඕනෙ. catch දෙකක් තිබුනට අවුලක් නෑ.

    Code:
    public static OleDbDataReader getData(String c){
        try{
            con = new OleDbConnection();
            con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\temp\\students.mdb";
            con.Open();
            OleDbCommand command = new OleDbCommand(c, con);
            OleDbDataReader reader = command.ExecuteReader();
            return reader;
        }
        catch (Exception ex){
            System.Console.WriteLine(ex.Message);
        }
        return null;
    }
    සම්පූර්න code එක අන්තිමට තියෙන්නෙ ඕනෙ මෙන්න මේවිදියට. කොහෙවත් errors තියෙන්නෙ බෑ.

    24_zpse771183f.jpg

    figure 2.9

    දැන් code එක සම්පුර්නයි. මේ code එකෙත් එකම lines repeat වෙලා තියෙනව පේනවනෙ. ඒවත් නැති කරල තවත් හොද db class එකක් ගහන්න පුලුවන්. ගුරුමුෂ්ටි ටිකක් තියාගත්ත
     

    hiranlahiru2015

    Well-known member
  • May 6, 2015
    1,341
    747
    113
    Gampaha
    මුලින්ම project එක develop කරගන්න Microsoft Visual C# IDE එකයි, Mycrosoft access server එකයි download කරල install කරගන්න.Visual C# server use කරනවා නම් config එක හරියට කරගන්න. config කරනකොට අනිවාර්‍යෙන්ම username එක විදියට root සහ password එක විදියට 123 දෙන්න. හැම තිස්සෙම ඒ විදියට config කරගන්න ඕනෙ නෑ.
    කැමති username & password එකක් දෙන්න පුලුවන්. නමුත් සාමන්‍ය projects වලට ඒ විදියට කලාම හොදයි.

    C# Intermediate විදියට ත්‍රෙඩ් එක දැන්මෙ ඔය දේවල් කරගන්න දැනුම තියෙන්නෙ ඕනෙ.
    අනික ඔය සම්බන්ද දේවල් hello world program එකේ ඉදන්ම මුල ඉදලම ඕනෙ තරම් videos, pdf, documents තියෙනව. තව object oriented concepts, variable handling, methods calling වගේ basic දේවල් දැනගෙන ඉන්නව නම් වැඩේ ලේසියි.
    ඒව ගැන මම ආයිත් ලියන එක කිසිම තේරුමක් නෑ. මොකද pdf තියෙනව දුසිම් ගනනින්. අනික campus එකේ theory knowledge එක ලබාගන්න ඇති. practical knowledge එක නැති නිසානෙ හිර වෙලා ඉන්නෙ. මුල දේවල් සම්බන්ද ප්‍රශ්න තියෙනව නම් විතරක් දාන්න. දන්න විදියට කියල දෙන්නම්. එහෙනම් පටාන් ගමු.

    System Requirements

    1.Microsoft Visual C# 2010 +
    2.Microsoft SQL server 2008+
    3.Microsoft Access 2007+
    4.[dot]Net Framework 3.5 +


    Hour 01 - Creating New Project

    මුලින්ම අලුත් project එකක් open කරගන්න.
    File > New > Project (Ctrl+Shift+N)

    i_zpsc1c4e456.jpg

    figure 1.0

    Select > Windows Forms Application
    Name - StudentRegistration
    OK


    ii_zps16122b8c.jpg

    figure 1.1

    Final preview

    iii_zps15cc6cf8.jpg

    figure 1.2


    ගොඩක්ම C# apps හදන්නෙ visual C# inbuilt db එක use කරල. ඒත් Microsoft access use කරන එක තමා ලේසිම. ගොඩක් projects වලට use කරන්න කියන්නෙත් accessනෙ. db connection එක හදාගන්න අමතර codes ටිකක් ඕනෙ වෙනව. ඒත් ඒ codes අපි ලියන්න ඕනෙ නෑ. sql class library එක හරහා import කරල ඒ codes ගන්න පුලුවන්.

    මුලින්ම මේ Library එක DL කරගන්න.


    Download C# SQL Library 5.0.9.0


    හරි දැන් කලින් Visual C# IDE එකේ Create කරගත්ත StudentRegistration Project එකට මේ library එක දාල code එක ලියාගමු.

    අලුත් db class එකක් හදා ගන්න.
    Right click StudentRegistration > Add > New Item


    20_zpsc0f4b236.jpg

    figure 2.5

    Select Class > Class Name එක විදියට db.cs දාන්න. Add.

    21_zps4b47d122.jpg

    figure 2.6

    හරි දැන් library එක දාගමු
    Right Click References > Add Reference


    22_zps8f640556.jpg

    figure 2.7

    Select Browse > Select downloaded library > ok

    23_zps8666ab93.jpg

    figure 2.8

    හරි දැන් Code එක ලියමු. code එක එකපාර copy paste කරල දැන්මොත් සදා අනාතයි. ඒ නිසා තේරුමක් ඇතිව ලියමු. indent කරල Step by step පැහැදිලිව ලියන්න. ඒ වගේම මෙතනදි මම හැම code එකක්ම ලියන්න වෙන්න නැති බවත් පැහැදිලි කරල දෙනව. ඒවගේම සමහර codes generate කරගන්න විදියත් දානව. ඒ නිසා Step by step කරන්න. එකපාර copy paste කලොත් ඒව දැන ගන්න බැරි වෙනව.

    db.cs file එක double click කරල open කරගන්න.

    මුලිනම references වලට දාගත්ත library එක import කරගන්න ඕනෙ. දැනට තියෙන imports වලට යටින්ම import කරගන්න.


    Code:
    using System.Data.OleDb;
    දැන් Static connection එකක් හදාගන්න ඕනෙ. ඒකට db class එක ඇතුලේ උඩින්ම Static connection එක හදාගන්න.

    Code:
    static OleDbConnection con;
    දැන් insert, update, delete queries වලට එක method එකකුත් search query එකට තව method එකකුත් ලියාගමු. අපිට හැම query එකක්ම මෙතන ලියන්න බෑ. මොකද එක එක තැන්වලදි යවන query වර්ග වෙනස් වෙන නිසා. ඒ නිසා ඔක්කොම queries වලට හරියන විදියට පැරා වල String එකක් අල්ලගන්න පුලුවන් විදියට method එක ලියාගන්න.

    for insert, update, delete queries. මේ Method එකෙන් නැවත result එකක් බලාපොරොත්තු වෙන්නෙ නැති නිසාත්, method එක හරහා data db එකට යවන නිසා method එක මේ විදියට හදාගන්න.


    Code:
    public static void setData(String s) {
    }
    for search query. මේ Method එකෙන් නැවත result එකක් බලාපොරොත්තු වෙනව. මොකද අපි Search කරන result එක නැවත අපි search කරපු තැනට අරගන්න ඕනෙ. ඒ නිසා return කරගන්න පුලුවන් විදියෙ method එකක් හදාගන්න.
    Code:
    public static OleDbDataReader getData(String c){
        return null;
    }
    හරි දැන් setData method එක ඇතුලට දන්න කියන codes ටික දාගන්න. exception එකක් throw වෙන නිසා exception handle කරන්න කියල try catch එකක් දාලම දාන්න.

    Code:
    try{
        con = new OleDbConnection();
        con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\temp\\students.mdb";
        con.Open();
        OleDbCommand command = new OleDbCommand(s, con);
        command.ExecuteNonQuery();
    }
    catch (Exception ex){
        System.Console.WriteLine(ex.Message);
    }
    දැන් getData method එක ඇතුලට දන්න කියන codes ටික දාගන්න.

    Code:
    con = new OleDbConnection();
    con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\temp\\students.mdb";
    con.Open();
    Search කරල එන result එක අල්ලගන්න ඕනෙ නිසා resultset එකක් ඕනෙ වෙනව. මේක තමයි අපි search query එක එවපු තැනට ආයිත් return කරන්නෙත්.
    Code:
    OleDbCommand command = new OleDbCommand(c, con);
    OleDbDataReader reader = command.ExecuteReader();
    return reader;
    getData method එක මෙන්න මේවිදියට තියෙන්න ඕනෙ. catch දෙකක් තිබුනට අවුලක් නෑ.

    Code:
    public static OleDbDataReader getData(String c){
        try{
            con = new OleDbConnection();
            con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\temp\\students.mdb";
            con.Open();
            OleDbCommand command = new OleDbCommand(c, con);
            OleDbDataReader reader = command.ExecuteReader();
            return reader;
        }
        catch (Exception ex){
            System.Console.WriteLine(ex.Message);
        }
        return null;
    }
    සම්පූර්න code එක අන්තිමට තියෙන්නෙ ඕනෙ මෙන්න මේවිදියට. කොහෙවත් errors තියෙන්නෙ බෑ.

    24_zpse771183f.jpg

    figure 2.9

    දැන් code එක සම්පුර්නයි. මේ code එකෙත් එකම lines repeat වෙලා තියෙනව පේනවනෙ. ඒවත් නැති කරල තවත් හොද db class එකක් ගහන්න පුලුවන්. ගුරුමුෂ්ටි ටිකක් තියාගත්ත

    :love::love::love::love: Thanks machan , hodatama explain karala thiyenawa. Anyway godak pin :love:
     

    windows_ubuntu

    Well-known member
  • Jun 2, 2018
    17,364
    25,879
    113
    Fantasy
    මචන්ලා මාත් දැනට ටික කාලෙකට ජකලින් ආතල් එකට වගේ c# access connect කරලා පොඩි ප්‍රොජෙක්ට් එකක් කරා, ඒක මගේ pc එකේ රන් වෙනව හොදට. වෙනPC ekakata දම්මට රන් වෙන්නේ නෑනේ . ඇයි?
    ම්න් PC කිහිපයකටම දාල බැලුවා.