O objeto Command contém informações de acesso enviadas ao sistema de banco de dados.
Os objetos OleDbCommand e SqlCommand têm os mesmos objetos básicos e métodos de operação. Aqui apenas apresentamos o uso de OleDbCommand, e o uso de SqlCommand pode ser deduzido por analogia.
O método mais comumente usado para inicializar um objeto Command é trazer dois parâmetros ao criar uma instância Command.
OleDbCommand meuComm=new OleDbCommand(strQuery,minhaConexão);
strQuery é a instrução SQL ou o nome do procedimento armazenado e myConnection é a instância do objeto Connection criada.
As principais propriedades do objeto Command são
Conexão:
CommandText: Defina ou obtenha a instância do objeto Connection usada pelo objeto Command
CommandType: StoredProceduce, TableDirect, Text (instrução SQL padrão)
Parâmetros: Obtenha o conjunto de valores do parâmetro
ExecuteReader: executa a instrução SQL ou o nome do procedimento armazenado especificado por CommandText e o tipo de retorno é DataReader
ExecuteNonQuery: A mesma função que ExecuteReader, exceto que o valor de retorno é o número de linhas de registro afetadas pela execução da instrução SQL ou procedimento armazenado.
DataReader--SqlDataReader, OleDbDataReader
FieldCount: Exibe o número total de campos no registro da operação atual
IsClosed: Determine se o DataReader está fechado
Fechar: Fechar DataReader
GetString: Retorna o valor na coluna especificada como String
GetValue: Retorna o valor na coluna especificada em seu próprio tipo
GetValues: Retorna uma coleção de todos os campos do registro atual
Ler: Leia o próximo registro. Exemplo:
<% @ Idioma da página = "C#" %>
<% @ Import Namespace="System.Data"%>
<% @ Import Namespace="System.Data.OleDb"%>
--------------------------------------------------
<% @ Import Namespace="System.Data.SqlClient"%>
<Script Language="c#" Runat="Servidor">
OleDbDataReader dr;
String myconnstring="Provider=Microsoft.Jet.OLEDB.4.0; DataSource="+Server.MapPath(".")+"..mdb";
stringsql=".."
OleDbConnection my_conn=new OleDbConnection(myconnstring);
OleDbCommand my_comm=new OleDbCommand(sql,my_conn);
my_comm.Connection.Open();
dr=meu_comm.ExecuteReader();
//DataGrid dg
dg.DataSource=dr
dg.DataBind();
</Script>
<cabeça>
<% enquanto(dr.Read())
...{;}
%>
</head>
Adaptador de dados DataSet
DataAdapter é usado em conjunto com DataSet
OleDbDataAdapter meu_adapter=new OleDbDataAdapter();
--------------------------------------------------
SqlDataAdapter my_sqladapter=new SqlDataAdapter();
meu_adapter.SelectCommand.Connection=my_conn;
ou
my_adapter.UpdateCommand.Connection=my_conn;
my_adapter.DeleteCommand.Connection=my_conn;
meu_adapter.InsertCommand.Connection=my_conn;
Se precisar executar instruções SQL, você também deverá atribuir um valor à propriedade CommandText correspondente. http://sucai.downcodes.com/
meu_adapter.SelectCommand.CommandText=strSelect;
meu_adapter.UpdateCommand.CommandText=strUpdate;
meu_adapter.InsertCommand.CommandText=strInsert;
meu_adapter.DeleteCommand.CommandText=strDelete;
Se você apenas consultar o banco de dados, poderá concluir o trabalho acima ao criar a instância do DataAdapter.
OleDbDataAdapter MeuAdapter=new OleDbDataAdapter(sql,minha_conn);
DataSet ds=new DataSet();
OleDbConnection my_conn=new OleDbConnection(myconnstring);
OleDbDataAdapter meu_adapter=new OleDbDataAdapter(sql,minha_conn);
my_adapter.fill(ds,"pontuação");
Pontuação do DataGrid;
pontuação.DataSource=ds.Table["pontuação"].Defaultview;
pontuação.DataBind();
//InserirComando
DataRow dr=ds.Table["Pontuação"].NewRow();
dr["nome"]=..
ds.Tables["Pontuação"].Rows.Add(dr);
//atualizar
DataAdapter.Update(ds,"Pontuação");
//modificar
DataRow dr=ds.Tables["Pontuação"].Rows[0];
dr["nome"]=;
//Excluir
DataRow dr=ds.Talbes["Pontuação"].Rows[0];
dr.Delete();
//Observação:
OleDbConnection my_conn=new OleDbConnection(myconnstring);
OleDbDataAdapter meu_adapter=new OleDbDataAdapter(sql,minha_conn);
OleDbCommandBuilder custCB=new OleDbCommandBuilder(my_adapter);//DataAdapter não pode gerar automaticamente (Transact-SQL) quando os dados são alterados, então você deve usar CommandBuilder, que pode gerar instruções SQL automaticamente! Apenas um passo
RejectChanges é um método comum a DataSet, DataTable e DataRow para permitir que o objeto de operação rejeite as alterações ocorridas e desmobilize os dados.
if(DataSet.HasErrors)
...{
DataSet.RejectChanges();
}
senão...{DataSet.AcceptChanges();}
-------------------------------------------------- -------------------------------------------------- ----------------------------------
Leitor de dados->Tabela de dados
DataTable estática pública ConvertDataReaderToDataTable (SqlDataReader dataReader)
...{
/**//**//**////Definir DataTable e esquema
DataTable tabela de dados = new DataTable();
DataTable schemaTable = dataReader.GetSchemaTable(); //Importar a estrutura de uma tabela de dados
tentar
...{ /**//**//**////Adicionar colunas de dados da tabela dinamicamente
foreach (DataRow myRow em esquemaTable.Rows)
...{
DataColumn minhaDataColumn = new DataColumn();
minhaDataColumn.DataType = minhaRow.GetType();
minhaColunaDados.NomeColuna = minhaRow[0].ToString();
tabela de dados.Columns.Add(minhaColunaDeDados);
}
/**//**//**////Adicionar dados da tabela
enquanto(dataReader.Read())
...{
DataRow minhaDataRow = datatable.NewRow();
for(int i=0;i<schemaTable.Rows.Count;i++)
...{
minhaDataRow[i] = dataReader[i].ToString();
}
tabela de dados.Rows.Add(myDataRow);
minhaDataRow = null;
}
tabelaesquema = null;
/**//**//**////Fechar o leitor de dados
dataReader.Close();
retornar tabela de dados;
}
catch(Exceção ex)
...{
/**//**//**////Gera um erro de conversão de tipo
SystemError.SystemLog(ex.Mensagem);
lançar nova exceção (ex.Mensagem,ex);
}
}
}
}