έχω δει διάφορα Posts σου, που έχουνε σχέση με εισαγωγή ανάκτηση δεδομένων από μια βάση μέσω της .Net πλατφόρμας.
γενικά, θα πρέπει να δεις - μάθεις καλά κάποια πράγματα σχετικά με τις access data technologies-methodologies που υπάρχουνε...
θα πρέπει να δεις γενικά αρκετά πράγματα με το ado.net
- Πως να συνδεθείς με μια βάση χρησιμοποιώντας ΑDO.NET
- Πως να εκτελείς sql queries Και να ανακτάς τα αποτελέσματα του query χρησιμοποιώντας ΑDO.NET
- Πως να εμφανίζεις δεδομένα που ανάκτησες από μια βάση σε μια .aspx σελίδα
- Πως να χειριστείς τα λάθη που (error handling mechanisms)
σε αυτό το Link θα βρεις κάποια Videos Που εξηγούνε πως κάνεις όλα τα παραπάνω.....
http://www.asp.net/learn/videos/
επίσης ίσως η πιο καλή σειρά tutorials που υπάρχει.
εδώ έχει όλες σχεδόν τις τεχνικές που θα χρειαστείς.
http://www.asp.net/learn/data-access/
και φυσικά τα πολύ ωραία Videos που έχουνε τα παιδιά από το studentguru (στα ελληνικά και αφού γίνεις μέλος)
http://www.studentguru.gr/learn/default.aspx
Κατά την γνώμη μου πρέπει να δεις τις βασικές ado.net κλάσεις και πιο ειδικά ότι βρίσκεται κάτω από το System.Data.SqlClient namespace
Οπωςδήποτε πρέπει να δεις τις
- SqlConnection - περιέχει Properties Και memthods για να συνδεθείς σε μια sql server db
- SqlCommand - εδώ μπορείς να κάνεις sql queries or stored procedures που στην ουσία είναι τα δεδομένα που θέλεις
- SqlDatareader - εδώ είναι τα δεδομένα που "γυρνάνε" από την βάση
γενικά με αυτή την μεθοδολογία κάνουμε το εξής
- φτιάχνουμε ένα νέο asp.net project Στο visual studio ή visual web developer
- Βάζουμε τα controls μας. πχ ένα Label Και ένα gridview. δεν πάει να πει ότι όλα τα controls Θα γίνουνε databound.
- έχουμε μια βάση π.χ σε ένα Sql server Που τρέχει στο δικό μας μηχάνημα. π.χ έχεις την northwind database Που είναι attached Στο Local intance του sql server
- ξεκινάμε ένα connection με την βάση χρησιμοποιώντας το SqlConnection object
- Χρησιμοποιούμε ένα sql command object για να εισάγουμε το ερώτημα μας, Sql query
- ανοίγουμε το connection με την db, εκτελούμε το ερώτημα
- τα αποτελέσματα του query τα "δίνουμε" σε ένα sqldatareader object
- δένουμε τα αποτελέσματα με το web server control που θέλουμε(dropdown list,gridview) και έτσι τα εμφανίζουμε στην .aspx σελίδα
- κλείινουμε το connection
επειδή ίσως μπερδεύτηκες, να ένα μικρό παράδειγμα που κάνει αυτά τα βήματα που μόλις σου είπα.
εδώ ας υποθέσουμε ότι θέλεις να φέρεις δεδομένα από ένα πίνακα employees που είναι σε μια βάση στον sql server, και θέλεις να εμφανίσεις τα data σε ένα gridview control.
ο κώδικας εδώ είναι σε c# αλλά μοιάζει πολύ με Vb.
using
System.Data.SqlClient;
protected
void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
SqlConnection conn;
SqlCommand comm;
SqlDataReader reader;
string connection;
// εδώ απλά παίρων το connection string από το web config.
connection =
ConfigurationManager.ConnectionStrings["nksolutions"].ConnectionString;
// Φτιάχνω ένα sql connection object
conn = new SqlConnection(connection);
//Φτιάχνω ένα sql command object
comm = new SqlCommand("select employeeid,name,city,state,mobilephone from employees", conn);
try
{
//Ανοίγω το connection
conn.Open();
// φορτώνω τα results σε ένα Sqldatareader object
reader = comm.ExecuteReader();
// Ορίζω ότι το gridview θα ταιστεί από το reader object
GridView1.DataSource = reader;
// Κάνω Bind τα δεδομένα στο gridview
GridView1.DataBind();
// κλείνω το reader
reader.Close();
}
catch
{
Label1.Text =
"error displaying the data!!!!";
}
finally
{
//κλείνω το connection
conn.Close();
}
}
επίσης θα πρέπει να δεις τα repeater και datalist controls
δεν είναι φυσικά ο μόνος τρόπος να πάρεις δεδομένα αυτός από μια βάση και να τα φέρεις σε μια σελίδα
υπάρχουνε ας πούμε ακόμα 2 τεχνικές
1) να χρησιμοποιήσεις τα datasource controls π.χ sqldatasource. αυτά παίζουνε πολύ καλά με το gridview Και τα detailsview controls
2) ένας άλλος τρόπος είναι να χρησιμοποιήσεις το disconnected data access model. εδώ χρησιμοποιούμε την sqldataadpater class σε συνδυασμό με τις datatable,dataview και dataset κλάσεις. με αυτό τον τρόπο φέρνεις τα δεδομένα τοπικά και να τα επεξεργαστείς χωρίς να έχεις ανοικτό το connection με την βάση.είναι ας πούμε ένα dataset ένα virtual database...ένα In memory represantation of your data
όλοι αυτοί οι τρόποι-τεχνικές έχουνε τα υπέρ και τα κατά τους.
μόλις τα μάθεις αυτά τότε μπορείς να δεις άλλα πράγματα όπως το entity framework και το linq to sql
δεν είναι δύσκολο να κάνεις αυτό που θες. θα μπορούσα να σου δώσω τον κώδικα αλλά νομίζω αυτά που σου είπα είναι πιο σημαντικά.
Νικόλαος Καντζέλης
BSc, MSc, MCAS, MCPD, MCITP, MCTS,MCP, MCT