ASP는 ActiveRecord 데이터 쿼리 및 업데이트를 구현합니다.
소개:
PHP 프레임워크인 ThinkPHP나 CI 프레임워크를 사용해 본 학생들은 이러한 프레임워크와 함께 제공되는 데이터 쿼리 ActiveRecord가 데이터를 쿼리하고 업데이트하는 데 사용된다는 것을 모두 알고 있습니다.
뿐만 아니라 많은 PHP 프레임워크는 ActiveRecord를 지원하므로 지루한 원본 SQL 쿼리 문을 너무 많이 작성할 필요가 없고 프로젝트 유지 관리가 더욱 편리해집니다.
이제 Asp 코드에 대한 시뮬레이션에도 사용합니다. "AspBox 프레임워크 기반 AppCore" 애플리케이션에 성공적으로 적용되었습니다.
애플리케이션 핵심 코드는 AppCore와 분리되어 있습니다.
================================================= ===============
[1]: 쿼리 데이터
a. 결과를 얻으십시오:
출력 SQL 문 보기: Dao.getSQL() 사용법
AliasDao.lastSQL()
예를 들어
Response.WriteDao.T("미디어").Top(10).lastSQL
Dao.Query() 사용법
조광기
dimtb_prefix:tb_prefix=Dao.tbPrefix'데이터 테이블 접두사
Setrs=Dao.Query("selecttop10id,namefrom@media").Result()
다음과 동일: Setrs=Dao.Query("selecttop10id,namefrom"tb_prefix"media").Result()
Dao.List() 사용법
딤리스트
list=dao.t("미디어").select("id,name").top(10).List()
참고: list'는 2차원 배열을 반환합니다.
디미,아이디,이름
Fori=0ToUbound(목록,2)
아이디=목록(0,i)
이름=목록(1,i)
응답.쓰기ID":"이름""
다음
Dao.Result() 사용법
별칭 Dao.GetRs() 또는 Dao.Fetch()
희미한 R
SetRs=Dao.T("media").select("id,name").top(10).Result()
ab.traceRs
DoWhilenotRs.eof
Response.WriteRs("id")":"Rs("이름")""
Rs.MoveNext
고리
Dao.Row(n) 사용법 (n은 데이터의 n+1번째 행을 가져오는 것을 의미합니다.) Dao.Row(0)은 데이터의 첫 번째 행을 가져오는 것을 의미합니다.
희미한 Rs
SetRs=Dao.Query("selecttop10id,namefrom@media").Row(4)'데이터의 5번째 행을 가져옵니다.
IfNotRs.EofThen
Response.WriteRs("id")":"Rs("이름")
종료
b. 쿼리 조건:
Dao.T()의 사용법은 Dao.From()의 사용법과 동일합니다.
Dao.Select() 사용법은 Dao.Field() 사용법과 동일합니다.
Dao.Where() 사용법 및 Dao.Find() 사용법:
참고: Where의 사용법은 기본적으로 Find의 사용법과 동일하며 둘 다 조건에 따라 데이터를 필터링합니다.
찾기 사용법이 더 유연합니다. Dao.Find("1,3,5")를 사용하여 자동 번호(id) 1,3,5로 데이터를 쿼리할 수 있습니다.
Dao.Find("1,3,5") 는 다음과 같은 방법으로 작성할 수도 있습니다.
Dao.Find(배열(1,3,5))
Dao.Find("idin(1,3,5)")
Dao.Where("idin(1,3,5)")
Dao.Where("id=1orid=3orid=5")
Dao.Limit() 사용법:
mysql 제한(오프셋, 행) 사용량 시뮬레이션
용법:
Limit(0,0)은 모든 데이터(첫 번째(0+1=1) 데이터의 처음부터 끝까지의 데이터)를 가져옵니다.
Limit(0,1)은 (첫 번째 데이터 조각(0+1=1), 즉 첫 번째부터 첫 번째 조각)부터 시작하여 1개의 데이터를 가져옵니다(총 1개).
Limit(3,0)은 4번째(3+1=4) 데이터의 처음부터 끝까지, 즉 4번째부터 마지막까지의 데이터를 가져옵니다.
Limit(2,5)는 3번째 데이터(2+1=3)부터 시작하여 5개의 데이터, 즉 3번째부터 7번째까지의 데이터를 나타냅니다. (총 5개)
Limit(1,2)는 두 번째 데이터(1+1=2)부터 시작하여 2개의 데이터, 즉 2~3번째 데이터를 나타냅니다. (총 2개)
Limit(4,6)은 다음과 같이 계산할 수 있습니다. 이는 항목 4+1=5 ~ 4+6=10)(총 6개 항목)을 의미합니다.
@참고: 한도 사용은 쿼리에만 사용할 수 있으며 Rs 데이터 업데이트에는 사용할 수 없습니다!
딤머
Setrs=Dao.T("테스트").Where("pid=1").Limit(0,5).Fetch()
첨부된 쿼리 예시:
Dao.T("test").field("id,name").where("id>0").order("createtimedesc,iddesc")
Dao.T("test").select("id,name").top(10)
Dao.T("테스트").select("id,name").order("Rnd(ID)")
Dao.t("user").where("id<>{rq:id}andemail='{rq:email}'").find("id>5").result()
제한 조건 쿼리
Setrs=Dao.T("미디어").field("id,name").limit(1,5).Fetch()
전체 쿼리 예:
딤SQL
sql=dao.select("id,name").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]: 데이터 수정
데이터 추가: Dao.Add()
데이터 수정: Dao.Update() 또는 Dao.Set()
데이터 삭제: Dao.Del() 또는 Dao.Delete()
스마트 저장 데이터(추가 또는 수정): Dao.Save()
필드 값 Dao.setField() 업데이트
Dao.AffectedRows() 또는 Dao.affRows()는 영향을 받은 행 수를 반환합니다.
dimo_ds,arr(5),str
Dao.t("사용자").where("id=14").del()
Dao.t("사용자").delete("1,3,5")
Dao.t("사용자").where("id=13").set(Array("사용자 이름:55"))
Dao.t("사용자").where("id=13").setField("이름","aaa1111")
Dao.query("update@usersetusername='ttt'whereid<7").exec()
Dao.query("delete*from@userwhereid>7").exec()
response.writeDao.AffectedRows()'영향을 받은 행 수
Dao.t("사용자").add(배열("사용자 이름:tttt","비밀번호:5fe84ad35fb5f95b","email:[email protected]"))
arr(0)="ID>5"
arr(1)="시간>#1986#"
arr(2)="oradd=555"
response.writedao.t("미디어").where(arr).lastSQL()
Seto_ds=Server.CreateObject("scripting.Dictionary")
o_ds("id")="15"
o_ds("이름")="sss"
o_ds("ddds!=")="dsd"
response.writedao.t("미디어").where(o_ds).lastSQL()
response.writedao.t("미디어").Find(o_ds).lastSQL()