ASP implementa consulta e atualização de dados do ActiveRecord
introdução:
Todos os alunos que usaram a estrutura PHP ThinkPHP ou CI sabem que a consulta de dados ActiveRecord que vem com essas estruturas é usada para consultar e atualizar dados.
Além deles, muitas estruturas PHP suportam ActiveRecord, o que elimina a necessidade de escrever muitas instruções de consulta SQL originais e tediosas e torna a manutenção do projeto mais conveniente.
Agora também o usamos para simulação em código Asp. Ele foi aplicado com sucesso à aplicação de "AppCore baseado no framework AspBox".
O código principal do aplicativo é separado do AppCore.
================================================= ===============
[1]: Consultar dados
a. Obtenha os resultados:
Veja a instrução SQL de saída: uso de Dao.getSQL()
AliasDao.lastSQL()
por exemplo
Response.WriteDao.T("mídia").Top(10).lastSQL
Uso de Dao.Query()
escurece
dimtb_prefix:tb_prefix=Dao.tbPrefix'prefixo da tabela de dados
Setrs=Dao.Query("selecttop10id,nomede@media").Result()
Equivalente a: Setrs=Dao.Query("selecttop10id,namefrom"tb_prefix"media").Result()
Uso de Dao.List()
lista escura
list=dao.t("mídia").select("id,nome").top(10).List()
Nota: list' retorna um array bidimensional
dimi, id, nome
Fori=0ToUbound(lista,2)
id=lista(0,i)
nome=lista(1,i)
Response.Writeid":"nome""
Próximo
Uso de Dao.Result()
Alias Dao.GetRs() ou Dao.Fetch()
dimRs
SetRs=Dao.T("mídia").select("id,nome").top(10).Result()
ab.traceRs
DoWhilenotRs.eof
Response.WriteRs("id")":"Rs("nome")""
Rs.MovePróximo
Laço
Uso de Dao.Row(n) (n significa obter a n+1ª linha de dados) Dao.Row(0) significa obter a primeira linha de dados
dimRs
SetRs=Dao.Query("selecttop10id,namefrom@media").Row(4)'Obtém a 5ª linha de dados
IfNotRs.EofThen
Response.WriteRs("id")":"Rs("nome")
FimSe
Condições de consulta:
O uso de Dao.T() é igual ao uso de Dao.From()
O uso de Dao.Select() é igual ao uso de Dao.Field()
Uso de Dao.Where() e uso de Dao.Find():
Nota: O uso de Where é basicamente igual ao uso de Find, ambos filtrando dados com base em condições.
O uso de localização é mais flexível. Você pode usar Dao.Find("1,3,5") para consultar dados com números automáticos (id) 1,3,5.
Dao.Find("1,3,5") também pode ser escrito da seguinte maneira:
Dao.Find(Array(1,3,5))
Dao.Find("idin(1,3,5)")
Dao.Where("idin(1,3,5)")
Dao.Where("id=1orid=3orid=5")
Uso de Dao.Limit():
Simular o uso do limite do mysql (deslocamento, linhas)
uso:
limit(0,0) pega todos os dados (dados do início ao fim dos primeiros (0+1=1) dados)
limit(0,1) pega 1 dado começando de (o 1º dado (0+1=1), ou seja: 1º ao 1º pedaço) (1 pedaço no total)
limit(3,0) leva os dados do início ao fim do 4º (3+1=4) dado, ou seja: do 4º ao último)
limit(2,5) representa os 5 dados a partir do 3º dado (2+1=3), ou seja: 3º ao 7º pedaço) (5 pedaços no total)
limit(1,2) representa os 2 dados começando pelo 2º dado (1+1=2), ou seja: 2º ao 3º pedaços) (2 pedaços no total)
limit(4,6) pode ser calculado assim: significa itens 4+1=5 a 4+6=10) (6 itens no total)
@Nota: O uso limite só pode ser usado para consulta, não para atualização de dados Rs!
Escurece
Setrs=Dao.T("teste").Where("pid=1").Limit(0,5).Fetch()
Em anexo, exemplo de consulta:
Dao.T("teste").field("id,nome").where("id>0").order("createtimedesc,iddesc")
Dao.T("teste").select("id,nome").top(10)
Dao.T("teste").select("id,nome").order("Rnd(ID)")
Dao.t("usuário").where("id<>{rq:id}andemail='{rq:email}'").find("id>5").result()
consulta de condição limite
Setrs=Dao.T("mídia").field("id,nome").limit(1,5).Fetch()
Exemplo de consulta completa:
dimsql
sql=dao.select("id,nome").from("media").where("id>10").join("table2").on("table2.cid=user.cid").order ("iddesc,cidasc").group("id").having("id>5").union("select*fromtablexx").getSQL
===============
[2]: Modificar dados
Adicionar dados: Dao.Add()
Modifique os dados: Dao.Update() ou Dao.Set()
Excluir dados: Dao.Del() ou Dao.Delete()
Dados salvos inteligentes (adicionar ou modificar): Dao.Save()
Atualizar um valor de campo Dao.setField()
Dao.AffectedRows() ou Dao.affRows() retorna o número de linhas afetadas
dimo_ds,arr(5),str
Dao.t("usuário").where("id=14").del()
Dao.t("usuário").delete("1,3,5")
Dao.t("usuário").where("id=13").set(Array("nome de usuário:55"))
Dao.t("usuário").where("id=13").setField("nome","aaa1111")
Dao.query("update@usersetusername='ttt'whereid<7").exec()
Dao.query("delete*from@userwhereid>7").exec()
response.writeDao.AffectedRows()'número de linhas afetadas
Dao.t("usuário").add(Array("nomedeusuário:tttt","senha:5fe84ad35fb5f95b","email:[email protected]"))
arr(0)="id>5"
arr(1)="hora>#1986#"
arr(2)="ouadicionar=555"
resposta.writedao.t("mídia").where(arr).lastSQL()
Seto_ds=Server.CreateObject("scripting.Dictionary")
o_ds("id")="15"
o_ds("nome")="sss"
o_ds("ddds!=")="dsd"
resposta.writedao.t("mídia").where(o_ds).lastSQL()
resposta.writedao.t("mídia").Find(o_ds).lastSQL()