Lec Note On Chapter 5 - Database Programming
Lec Note On Chapter 5 - Database Programming
Data Objects …
Application ADO, JDBC
Internet, local
…
Database
Database
ADO.net
• Display data:
dataGrid1.DataSource = data.Tables[0]; // show the table in the grid control
MessageBox.Show(data.Tables[0].Rows[0][5].ToString( )); // or process manually, this is row 0
col 5
DataSet vs. DataReader
DataSet:
• Like 2D array: a[r][c] DataReader: (standard)
• Full dataset read from DB at • 1 row at a time
query execution time • No local memory storage
• Dataset cached locally in • Fetch each row from DB on
mememory. demand
• Can disconnect from DB • “cursor” = current row
• Implemented using • Must stay connected to DB
DataReader/ DataAdapter • DataReader
• - scalability
• + random data access • + each row
• + Limited scalability • - random access difficult
• - initial read very slow
Object Model
DataSet:
DataReader: (standard)
• Tables[n]
• Columns[c] (current row)
– Rows[r]
– Value, type, …
• columns[c]
– Value, type, … • Columns info [c]
– Columns info [c] – Name, type, …
• Name, type, … • Cursor:
– moveNext, MovePrev,
moveTo
– EOF
Cursors
• Forward only - (forward/back vs. random
access)
• Read only vs. writeable
• …
Connections
• Connection strings:
• Con.open( )
• Queries here
• Con.close( ) // connections consume
resources
•
Saving Data Changes
• Manual update/insert/delete queries:
cmd = new OleDbCommand(“UPDATE table SET myAttr=value WHERE id=idval”, con);
cmd.ExecuteNonQuery(); // query does not return data.