A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

ADO.NET (cont.). 1 Acesso a Bases de DadosADO.NET Namespace System.Data Modos de aceder à informação OLE DB – namespace System.Data.OleDb SQL - namespace.

Apresentações semelhantes


Apresentação em tema: "ADO.NET (cont.). 1 Acesso a Bases de DadosADO.NET Namespace System.Data Modos de aceder à informação OLE DB – namespace System.Data.OleDb SQL - namespace."— Transcrição da apresentação:

1 ADO.NET (cont.)

2 1 Acesso a Bases de DadosADO.NET Namespace System.Data Modos de aceder à informação OLE DB – namespace System.Data.OleDb SQL - namespace System.Data.SqlClient Aplicativo.Net Informação SQL Server Objectos OLE DB Objectos OLE DB TDS

3 2 Arquitectura ADO.NET

4 3 Acesso a Bases de Dados

5 4.Net Data Providers SQL Server - System.Data.SqlClient OLE DB - System.Data.OleDb ODBC - System.Data.Odbc Oracle - System.Data.OracleClient. Objectos: Connection Estabelece a comunicação com a fonte de dados Command Executa um comando na fonte de dados DataReader Lê sequencialmente de uma fonte de dados – só leitura DataAdapter Preenche um DataSet

6 5 Objecto Connection SqlConnection / OleDbConnection Parâmetros da string de conexão Connection timeout Data source Initial catalog Integrated security Password Persist security info Provider User ID string strConn = "data source=localhost; " + "initial catalog=northwind; " + "integrated security=true"; SqlConnection conn = new SqlConnection(strConn); string strConn = "data source=localhost; " + "initial catalog=northwind; " + "integrated security=true"; SqlConnection conn = new SqlConnection(strConn);

7 6 Objecto Command SqlCommand / OleDbCommand Propriedades: Connection Command Text Parameters SqlCommand com = new SqlCommand(); com.Connection = conn; com.CommandText="Select * From Tabela;"; SqlDataReader Info = com.ExecuteReader(); SqlCommand com = new SqlCommand(); com.Connection = conn; com.CommandText="Select * From Tabela;"; SqlDataReader Info = com.ExecuteReader();

8 7 Objecto Command Executar comandos SQL ExecuteReader – executa comandos que devolvam linhas de informação (ex: SELECT) ExecuteNonQuery – executa comandos que retornam dados (ex: INSERT, UPDATE, DELETE) ExecuteScalar - retorna um valor único como resultado de uma função agregada (ex: COUNT)

9 8 Data Command private System.Data.OleDb.OleDbConnection myConnection; private System.Data.OleDb.OleDbCommand cmd; String connstr="Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + strpath; String strsql="Insert into Produtos (IdCat,NomeProd,Preco) Values ('1','" + nomeprod + "'," + "'" + preco +"')" ; myConnection=new System.Data.OleDb.OleDbConnection(connstr); myConnection.Open(); cmd=new OleDbCommand (strsql,myConnection); (*) cmd.ExecuteNonQuery(); myConnection.Close(); (*) cmd=new OleDbCommand(); cmd.Connection=myConnection; cmd.CommandText=strsql ; Construtores ou Propriedades

10 9 Data Command Utilização de parâmetros no SQL String strsql = "Insert into Produtos (IdCat,NomeProd,Preco) Values (?,?,?)"; myConnection = new OleDbConnection(myConnectionstr); cmd = new System.Data.OleDb.OleDbCommand( ); cmd.Connection = myConnection; cmd.CommandText = strsql; cmd.Parameters.AddWithValue("idcat",idcat); cmd.Parameters.AddWithValue("nomeprod",nomeprod); cmd.Parameters.AddWithValue("preco",preco);

11 10 Objecto DataReader SqlDataReader / OleDbDataReader Percurso forward-only em modo read-only Criado através do método executeReader de um objecto Command Pode ser associado ao DataSource de Server Controls Propriedades e métodos mais usais FieldCount IsClosed Close GetString GetInt32 SqlDataReader Info = com.ExecuteReader(); DataGrid1.DataSource=Info; SqlDataReader Info = com.ExecuteReader(); DataGrid1.DataSource=Info;

12 11 Objecto DataReader string sql ="SELECT OrderID, CustomerID FROM orders"; OleDbConnection conn = newOleDbConnection(connstr); OleDbCommand cmd = new OleDbCommand(sql,conn); conn.Open(); OleDbDataReader myReader; myReader = myCommand.ExecuteReader(); DataGrid1.DataSource=myReader; DataGrid1.DataBind(); DataSource de Server Controls

13 12 Objecto DataReader Métodos: Read – lê um registo do resultado do Query, permite iterar sobre o objecto GetFloat, GetInt, GetString, etc – permite aceder aos campos do registo GetSchemaTable – Devolve um Data Table com a informação do Schema do resultado do Query while (dtreader.Read()) { HyperLink hlink=new HyperLink(); hlink.Text=dtreader.GetString(1); // (string)dtreader[NomeCat]; hlink.NavigateUrl="http://localhost/produtos.aspx?prod= "+dtreader.GetInt32(0); Panel1.Controls.Add(hlink); Panel1.Controls.Add(new LiteralControl(" ")); }

14 13 DataSet DataSet representa uma colecção de tabelas (objectos DataTables), juntamente com restrições e relações entre tabelas Estrutura relacional em memória Usa o DataAdapter para fazer a ligação com a fonte de dados

15 14 SQL Server 2000 DataSet DataTable Physical storage OleDb Database SqlDataAdapter SqlConnection DataTable Web server memory OleDbDataAdapter OleDbConnection What is a Dataset?

16 15 Data Adapters sp_SELECT Command SelectCommandUpdateCommandInsertCommandDeleteCommand DataAdapter Command Connection sp_UPDATEsp_INSERTsp_DELETE Database DataSet DataReader

17 16 Criar um DataAdapter Propriedades do comando SelectCommand Definir os comandos InsertCommand, UpdateCommand, and DeleteCommand, se necessário DataAdapter da.SelectCommand.CommandText da.SelectCommand.Connection da.SelectCommand.CommandText da.SelectCommand.Connection SqlDataAdapter da = new SqlDataAdapter ("select * from Authors",conn); SqlDataAdapter da = new SqlDataAdapter ("select * from Authors",conn); da.Insertcommand da.UpdateCommand da.Insertcommand da.UpdateCommand

18 17 Creating a DataSet Criar um DataSet Fill – executa o SelectCommand Access a DataTable DataSet ds = new DataSet(); da.Fill(ds, "Authors"); DataSet ds = new DataSet(); da.Fill(ds, "Authors"); ds.Tables["Authors"].Rows.Count; string str=""; foreach(DataRow r in ds.Tables["Authors"].Rows) { str += r[2]; str += r["au_lname"]; } string str=""; foreach(DataRow r in ds.Tables["Authors"].Rows) { str += r[2]; str += r["au_lname"]; }

19 18 DataAdapder / DataSet … String strconn="Provider=Microsoft.Jet.OLEDB.4.0; …. String strsql="Select * from produtos where IdCat= + id; conn=new OleDbConnection(); conn.ConnectionString=strconn; dadapter=new OleDbDataAdapter (strsql,conn); dataset=new DataSet(); dadapter.Fill(dataset,Produtos); dgrid. DataSource=dataset ; dgrid.DataBind(); Datasource de um Controlo

20 19 DataAdapder / DataSet Aceder às tabelas no DataSet Usar Tables para aceder à tabela Produtos Objecto DataTable DataTable dt = dataset.Tables[ Produtos "] Aceder às linhas da tabela Usar Rows Objecto DataRow DataRow dr= dataset.Tables[" Produtos ].Rows foreach (DataRow dr in dataset.Tables[Produtos"].Rows)


Carregar ppt "ADO.NET (cont.). 1 Acesso a Bases de DadosADO.NET Namespace System.Data Modos de aceder à informação OLE DB – namespace System.Data.OleDb SQL - namespace."

Apresentações semelhantes


Anúncios Google