ASP implementa la consulta y actualización de datos de ActiveRecord
introducción:
Los estudiantes que han utilizado el marco PHP ThinkPHP o el marco CI saben que la consulta de datos ActiveRecord que viene con estos marcos se utiliza para consultar datos y actualizarlos.
No solo ellos, muchos marcos PHP admiten ActiveRecord, lo que elimina la necesidad de escribir demasiadas declaraciones de consulta SQL originales tediosas y hace que el mantenimiento del proyecto sea más conveniente.
Ahora también lo usamos para simulación en código Asp. Se ha aplicado con éxito a la aplicación "AppCore basada en el marco AspBox".
El código central de la aplicación está separado de AppCore.
==================================================== ================
[1]: Consultar datos
a.Obtener los resultados:
Ver la declaración SQL de salida: uso de Dao.getSQL()
AliasDao.lastSQL()
p.ej.
Respuesta.WriteDao.T("medios").Top(10).lastSQL
Uso de Dao.Query()
atenuar
dimtb_prefix:tb_prefix=Prefijo de tabla de datos Dao.tbPrefix
Setrs=Dao.Query("selecttop10id,namefrom@media").Resultado()
Equivalente a: Setrs=Dao.Query("selecttop10id,namefrom"tb_prefix"media").Result()
Uso de Dao.List()
lista tenue
list=dao.t("medios").select("id,nombre").top(10).List()
Nota: list' devuelve una matriz bidimensional
dimi, identificación, nombre
Fori=0ToUbound(lista,2)
identificación=lista(0,i)
nombre=lista(1,i)
Respuesta.Writeid":"nombre""
Próximo
Uso de Dao.Result()
Alias Dao.GetRs() o Dao.Fetch()
atenuados
SetRs=Dao.T("medios").select("id,nombre").top(10).Resultado()
ab.traceRs
DoWhilenotRs.eof
Response.WriteRs("id")":"Rs("nombre")""
Rs.MoverSiguiente
Bucle
Uso de Dao.Row(n) (n significa obtener la n+1ª fila de datos) Dao.Row(0) significa obtener la primera fila de datos
atenuados
SetRs=Dao.Query("selecttop10id,namefrom@media").Row(4)'Obtener la quinta fila de datos
SiNotRs.EofThen
Response.WriteRs("id")":"Rs("nombre")
Fin si
b. Condiciones de consulta:
El uso de Dao.T() es el mismo que el uso de Dao.From()
El uso de Dao.Select() es el mismo que el uso de Dao.Field()
Uso de Dao.Where() y uso de Dao.Find():
Nota: El uso de Dónde es básicamente el mismo que el uso de Buscar, los cuales filtran datos según las condiciones.
El uso de búsqueda es más flexible. Puede utilizar Dao.Find("1,3,5") para consultar datos con números automáticos (id) 1,3,5.
Dao.Find("1,3,5") también se puede escribir de la siguiente manera:
Dao.Buscar(Array(1,3,5))
Dao.Find("idin(1,3,5)")
Dao.Dónde("idin(1,3,5)")
Dao.Dónde("id=1orid=3orid=5")
Uso de Dao.Limit():
Simular el uso del límite de MySQL (desplazamiento, filas)
uso:
limit(0,0) toma todos los datos (datos desde el principio hasta el final de los primeros (0+1=1) datos)
limit(0,1) toma 1 dato comenzando desde (el 1er dato (0+1=1), es decir: 1er a 1er pieza) (1 pieza en total)
limit(3,0) toma los datos desde el principio hasta el final del 4º (3+1=4) datos, es decir: del 4º al último)
límite (2,5) representa los 5 datos a partir del 3er dato (2+1=3), es decir: del 3er al 7mo) (5 piezas en total)
límite (1,2) representa los 2 datos a partir del 2.° dato (1+1=2), es decir: 2.° a 3.° partes) (2 partes en total)
limit(4,6) se puede calcular así: significa elementos 4+1=5 a 4+6=10) (6 elementos en total)
@Nota: ¡El uso limitado solo se puede usar para consultas, no para actualizaciones de datos de Rs!
atenuados
Setrs=Dao.T("prueba").Dónde("pid=1").Limit(0,5).Fetch()
Adjunto ejemplo de consulta:
Dao.T("test").field("id,name").where("id>0").order("createtimedesc,iddesc")
Dao.T("prueba").select("id,nombre").top(10)
Dao.T("prueba").select("id,nombre").order("Rnd(ID)")
Dao.t("usuario").where("id<>{rq:id}andemail='{rq:email}'").find("id>5").result()
consulta de condición límite
Setrs=Dao.T("media").field("id,nombre").limit(1,5).Fetch()
Ejemplo de consulta completa:
dimsql
sql=dao.select("id,nombre").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 datos
Agregar datos: Dao.Add()
Modificar datos: Dao.Update() o Dao.Set()
Eliminar datos: Dao.Del() o Dao.Delete()
Datos de guardado inteligente (agregar o modificar): Dao.Save()
Actualizar un valor de campo Dao.setField()
Dao.AffectedRows() o Dao.affRows() devuelve el número de filas afectadas
dimo_ds,arr(5),cadena
Dao.t("usuario").where("id=14").del()
Dao.t("usuario").delete("1,3,5")
Dao.t("usuario").where("id=13").set(Array("nombre de usuario:55"))
Dao.t("usuario").where("id=13").setField("nombre","aaa1111")
Dao.query("update@usersetusername='ttt'whereid<7").exec()
Dao.query("eliminar*de@userwhereid>7").exec()
Response.writeDao.AffectedRows()'número de filas afectadas
Dao.t("usuario").add(Array("nombre de usuario:tttt","contraseña:5fe84ad35fb5f95b","correo electrónico:[email protected]"))
arr(0)="id>5"
arr(1)="hora>#1986#"
arr(2)="oradd=555"
respuesta.writedao.t("medios").where(arr).lastSQL()
Seto_ds=Server.CreateObject("scripting.Diccionario")
o_ds("id")="15"
o_ds("nombre")="sss"
o_ds("ddds!=")="dsd"
respuesta.writedao.t("medios").where(o_ds).lastSQL()
respuesta.writedao.t("medios").Find(o_ds).lastSQL()