Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouEnzo Melchior Alterado mais de 10 anos atrás
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)
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.