Wednesday 23 November 2016

கிரிட் வியூவும் டேட்டா சோர்ஸ் கண்ட்ரோல்களும்.(ASP.NET)




கிரிட்  வியூ கண்ட்ரோல்(GRID VIEW)
இது டேட்டா பேஸிலிருந்து கிடைக்கப்பட்ட டேட்டாவை அட்டவணை வடிவத்தில் வெளியிடப் பயன்படுகின்றது. டேட்டா கிரிட் (DATAGRID) கண்ட்ரோலும்  டேட்டாவை அட்டவணை வடிவத்தில் வெளியிடப் பயன்பட்டு வந்தது. VISUAL STUDIO 2008 –லிருந்து இது தானாகவே இருக்காது. டேட்டா கிரிட் கன்ட்ரோல் வேண்டுமெனில் பின் வரும் வழி முறைகளை பின் பற்றவும்.
1.   டூல் பாக்ஸில் வலது கிளிக் செய்து “Choose item”) என்பதை தேர்ந்தெடுக்கவும்.
2.   “Choose Toolbox Items” என்கின்ற டயலாக் பாக்ஸ் வெளிப்படும்.
3.   அதிலிருந்து System.web என்கின்ற அசெம்பிளியில் உள்ள டேட்டா கிரிட்டை தேர்ந்தெடுக்கவும்.
4.   முடிவாக o.k கொடுக்கவும். இப்போது டேட்டா கிரிட் டூல் பாக்ஸில் வெளிப்படும்.

எனினும் எடிட்,அப்டேட் போன்றவற்றை டேட்டா கிரிட்டில் நிரல் வரிகள் மூலமாகவே செய்ய முடியும்.கிரிட் வியூவில் அப்படி கிடையாது.

டேட்டா சோர்ஸ் கண்ட்ரோல்கள்

இவை டேட்டா பேஸிலிருந்து டேட்டாவை retrieve செய்ய பயன்படுகின்றது. அவற்றை அப்படியே எந்த வித நிரல் வரிகளின்றி
டேட்டா பவுண்ட் கன்ட்ரோல்களில் வெளிப்படுத்தலாம்.

முக்கியமான டேட்டா சோர்ஸ்கள்
1.   Sqldatasource- இந்த கன்ட்ரோல் sql database, oledb, odbc, oracle data base போன்றவற்றிலிருந்து டேட்டாவை பெறப்பயன்படுகின்றது.
2.   Objectdatasource-இந்த BUSINESS DATA OBJECTS (FOR EXAMPLE CLASS LIBRARY)மூலம் டேட்டாவை பெறுகின்றது.
3.   Accessdatasource-மைக்ரோ சாஃப்ட் அக்சஸிலிருந்து டேட்டாவை பெறப்பயன்படுகின்றது.
4.   Xmldatasource-xml ஃபைல்களிருந்து டேட்டாவை பெறப்பயபடுகின்றது.
5.   Linqdatasource-இது linq மூலம் டேட்டாவை பெறப் பயன்படுகின்றது.

Sqldatasource-
Sql server –ல் இருந்து டேட்டாவை பெறுதல்:

முதலில் வெப் ஃபார்மில் sqldatasource control,gridview control முதலியவற்றை இணைக்கவும். பார்க்க படம்-1

Configure Data source-யை கிளிக் செய்யவும்.

 New connection என்பதை க்ளிக் செய்யவும்.

டேட்டா சோர்ஸில் Microsoft sqlserver(sqlclient) என்பதையும் server name என்பதில் உங்கள் sqlserver –ன் பெயரையும் கொடுக்கவும்.(பெயர் தெரியவில்லையென்றால் sqlserver management studio –வின் connect dialog box-ல் உள்ள server name-யையும் கொடுக்கவும்.)
கடைசியாக select or enter a database name என்பதில் database
 பெயரை கொடுக்கவும்.பின்பு o.k கிளிக் செய்யவும்.அடுத்து வரும் ஸ்கிரினில் அப்படியே next கொடுக்கவும்.
அடுத்து வரும் விண்டோவில் டேபிள் பெயரை கொடுக்கவும்.பின்பு நமக்கு எந்தெந்த  column தேவைபடுகின்றது என்பதையும் குறிப்பிடவும்.


Next கொடுத்து பின் வரும் விண்டோவில் test query என்பதை கிளிக் செய்தால் டேட்டா அட்டவனையாக வெளிவரும்.பின்பு finish கொடுக்கவும்.
அடுத்து க்ரிட் வியூவை கிளிக் செய்து டேட்டா சோர்ஸில் sqldatasource1 என்பதை தேர்ந்தெடுக்கவும்.

இப்போது நிரலை இயக்கினால் பின் வரும் வெளியீடு கிடைக்கும்.
பின் குறிப்பு:
பின் குறிப்பு:
நாம் இதற்கு முன்பே sqlserver-ல் school என்கின்ற database மற்றும் smark என்கின்ற table ஒன்றையும் உருவாக்கியுள்ளோம் என்று எடுத்துக் கொள்க.
Accessdatasource
Ms-access-ல் school.accdb என்கின்ற டேட்டா பேஸையும் பின்பு mark என்கின்ற table ஒன்றையும் உருவாக்கி கொள்க. பின்பு அந்த டேட்டாபேஸை asp.net project ஒன்றில் App_data என்கின்ற ஃபோல்டரில் இணைத்துக் கொள்க. பின்பு web form –ல் Accessdatasource ஒன்றையும் gridview ஒன்றையும் இணைத்துக் கொள்க.
Access data source-ன் configure data source-ல் school.accdb டேட்டா பேஸையும்  mark என்கின்ற table –யையும் தேந்தெடுக் கொள்க.
க்ரிட் வியூவின் choose data source என்பதில் accessdatasource1 என்பதையும் தேர்ந்தெடுத்துக் கொள்ளவும்.
இப்போது நிரலை இயக்கினால் பின் வரும் வெளியீடு வரும்


Object data source
Sqldatasource என்கின்ற மூலம் நாம் டேட்டாவை அனுகும் போது பேக் எண்ட் ஆன டேட்டா பேஸில் எதாவது மாற்ற்ம் செய்தால் ஃப்ரன்ட் எண்டில் update செய்வதில் சில மாற்றங்களை ஏற்படுத்தும் எனவே ரியல் டைமில் layer based access  பயன்படுத்தப் படுகின்றது.
மூன்று லேயர்கள்:
1.presentation layer: Asp.net வெப் பக்கங்களில் design பக்கத்தில் நாம் சேர்க்கும் கன்ட்ரோல்களும் கோடிங் பக்கத்தில் நாம் எழுதும் நிரலாக்க வரிகளும் ஆகும்
2.business logic layer: இது class library project  பக்கத்தில் உபயோகிக்கும் டேட்டா ஆப்ஜெக்டுகளான students, products போன்றவை ஆகும்
3.Data access layer: இது class library project-ல் பின் வரும் நாம் செய்யும் CRUD(create,retrieve,update,delete) வேலைகளுக்கு பொறுப்புடையதாகும்.
பொதுவாக நாம் முதலில் Presentaion layer ஆனதை அனுகிறோம் அது business logic layer ஆனதை அணுகுகிறது. அது data access layer யை அனுகுகிறது. இந்த லேயர் ஆனது CRUD வேலைகளை செய்கின்றது.
Asp.net-ல் solution explorer-ல் ப்ராஜெக்ட் பெயரை வலது கிளிக் செய்து add new items என்பதில் கிளிக் செய்து class என்பதை தேர்ந்தெடுக்கிறோம் பின்பு
அதன் பெயரை மாற்றுகின்றோம். இங்கு schoolaccess.cs என்று கொடுத்துள்ளோம்(user defined name). இப்பொழுது solution expolorer-ல் schoolaccess.cs என்பதை காணலாம்.

முதலில் web.config ஃபைலை திறந்து பின் வரிகளை சேர்க்கவும்.
<configuration>
  <connectionStrings>
    <add name="cs" connectionString="Data Source=MUTHU-PC\SQLEXPRESS;Initial Catalog=school;Integrated Security=SSPI" />
  </connectionStrings>
இப்பொழுது cs என்கின்ற connection string ஆனது sql செர்வரில் நாம் ஏற்கனவே உருவாக்கியுள்ள school என்கின்ற டேட்டா பேஸை குறிப்பிடுகின்றது.
இதை open செய்து பின் வரும் நிரல் வரிகளை சேர்க்கின்றோம்.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;

namespace WebApplication3
{
    public class Student    {
        public int Id { get; set; }
        public string SName { get; set; }
        public string mark { get; set; }
    }
    public class schoolaccess
    {
       public static List<Student> GetAllStudents()
        {
            List<Student> listStudents = new List<Student>();

            string CS = ConfigurationManager.ConnectionStrings["CS"].ConnectionString;
            using (SqlConnection con = new SqlConnection(CS))
            {
                SqlCommand cmd = new SqlCommand("select * from  mark1", con);
                con.Open();
                SqlDataReader rdr = cmd.ExecuteReader();
                while (rdr.Read())
                {
                    Student student = new Student();
                    student.Id = Convert.ToInt32(rdr["sno"]);
                    student.SName = rdr["sname"].ToString();
                    student.mark = rdr["mark"].ToString();

                    listStudents.Add(student);
                }
            }

            return listStudents;
        }
    }
}

   
இந்த வரிகளில் முதலில் உள்ள student class-ல் மூன்று property சேர்க்கப்பட்டுள்ளது .இவை
School என்கின்ற டேட்டா பேஸின் mark1 என்கின்ற டேபிளின் column பெயருடன் மேப் பண்ணுவது போல் உருவாக்கப்பட்டுள்ளது.
பின்பு schoolaccess என்கின்ற கிளாஸ் உருவாக்கப்பட்டுள்ளது இதில் GetAllStudents() என்கின்ற மெத்தட் சேர்க்கப்பட்டுள்ளது.இதன் ரிடர்ன் டைப்பாக List<Student>
என்று கொடுக்கப்பட்டுள்ளது.பின் listStudents  என்கின்ற ஆப்ஜெக்ட் உருவாக்கப்பட்டுள்ளது. பின்பு mark1 என்பதின் டேட்டா retrieve செய்யப்படுகின்ற்து
SqlDataReader என்பதன் ஆப்ஜெக்ட் ஆன rdr என்பது அந்த டேட்டாவை read செய்ய பயன்படுகின்றது. பின்பு while loop-ல் student என்கின்ற ஆப்ஜெக்ட் Student என்கின்ற கிளாஸிற்கு உருவாக்கப்பட்டுள்ளது.டேட்டா ஆனது ரீட் செய்யப்பட்டு அதன் ப்ராப்ப்ர்டி ஆன Id ,Sname, mark ஆகியவற்றிற்கு மதிப்பிருத்தப்படுகின்றது. பின் liststudent-ல் என்கின்ற லிஸ்ட் ஆப்ஜெட்டிற்கு add செய்யப்படுகின்றது. பின்பு லூப்பின் முடிவில் listStudents ரிடர்ன் செய்யப்படுகின்றது.
இப்பொழுது asl.net வெப் ஃபார்மில் object data source ஒன்றும் கிரிட் வியூ ஒன்றும் இனைக்கப்பட்டுள்ளது.
பின்பு objectdatasource-ன் configure Data source ஆனது செலக்ட் செய்யப்படுகின்றது.

பின்பு இந்த விண்டோ வரும்.
இதில் உள்ள choose your business object என்பதில் WebApplication3.schoolaccess என்பது தெரிவு செய்யப் படுகின்றது.(இது லிஸ்டில் இல்லையெனில் project ஆனதை build செய்து கொள்ளவும்.) பின்பு next கொடுக்கப்பட்டு பின் வரும் விண்டோவில் GetAllStudents() மெத்தட் தெரிவு செய்யப்படுகின்றது.
பின்பு finish கொடுக்கவும்.



பின்பு கிரிட்வியூவின் choose data source என்பதை செலெக்ட் செய்து objectdatasource1-என்பதை தெரிந்தெடுக்கவும்.
பின்பு நிரலை f5 பட்டன் ப்ரஸ் செய்து  இயக்கவும். பின் வரும் வெளியீடு வரும்.

Xmldatasource பற்றி பிரிதொரு கட்டுரையில் விரிவாக காண்போம்.
                                  -முத்து கார்த்திகேயன்.மதுரை

No comments:

Post a Comment