set searchName="Xiang"

set id=""  
for {
    set id=$ORDER(^Data(id))  
    if ^Data(id,"name")=searchName {
        write ^Data(id,"surname"),":",^Data(id,"name"),":",^Data(id,"birthday"),!

Am not very sure where my error is, but when i execute this bit of the code nothing happens.

that is when i try to do a search by  iterate through all entries with the name of Xiang

I also tried this method and I didn't have the desired respond. 

do loop
new idx
set idx = 1
  write !,$order(^Data(idx),+1)
  new idx set idx = ""
  for {
  set idx = $o(^Data(idx)) quit:idx=""
  write !,"idx: "_idx
  write ^Data(idx, "name")
new idx
set idx = $$getNext()
set ^Data(idx, "name") = "Jodrick"
set ^Data(idx, "surname") = "Sieyanji"
write ^test(1),!
write ^test(2),!

getNext() {
return $order(^Data(""),-1) + 1

i don't how i will write the code for me to read a name or a birthday from its index? 

kind of if i have search someone from its name and have all his information displayed