در این اموزش می خواهم روش نمایش داده های جدول بانک اطلاعاتی را بگویم
برای بهتر شدن نمای کار مقدار هر فیلد را در یک سلول از جدول اچ تی ام ال نمایش می دهیم
و هر سطر جدول اچ تی ام ال ما مقدار فیلدهای یک رکورد را نمایش خواهد داد
 
نمایش دادن نام فیلدها و مقدار انها

 اگر فصلهای گذشته اموزش ado را دنبال کرده باشید می دانید که ما یک بانک اطلاعاتی داریم به نام Northwind و درون ان جدولی به نام Customers ایجاد کردیم

من این بانک را در درایو D کامپیوترم ایجاد کردم

 حالا دستورات زیر را کجا بنویسیم ؟

در notepad یک فایل جدید ایجاد کنید و دستورات را در ان کپی نمائید

فقط به خاطر داشته باشید که نام دلخواهی روی فایل گذاشته و با پسوند asp در مسیر سرویس دهنده ای ای اس ذخیره نمائید ( چون در این فایل دستور asp داریم )

 

 

 مشاهده روش ذخیره و اجرا ی فایل asp

 

 

<html>
<body>

<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "d:/northwind.mdb"

set rs = Server.CreateObject("ADODB.recordset")
rs.Open "SELECT * FROM Customers", conn

do until rs.EOF
  for each x in rs.Fields
    Response.Write(x.name)
    Response.Write(" = ")
    Response.Write(x.value & "<br>")
  next
  Response.Write("<br>")
  rs.MoveNext
loop

rs.close
conn.close
%>

</body>
</html>

 

    for each x in rs.Fields

یعنی به ازای هر فیلدی که در رکوردست است دستورات داخل for را انجام دهد .x به هر فیلد اشاره می کند

همانطور که در فصل ado recordset گفتم ، یک حلقه for فقط فیلدهای یک رکورد را می خواند

و اولین رکورد در جدول بانک اطلاعاتی نام فیلدهای جدول است

برای خواندن رکوردهای بعدی جدول باید دستور for بالا به تعداد رکوردهای موجود در رکوردست  دستور for را در یک حلقه loop قرار  داده ایم

 

 مشاهده اجرای برنامه بالا
 

 همانطور که در اجرا می بینید ، خروجی زیبا نیست

می توانیم با استفاده از یک جدول مقدار هر فیلد را در یک سلول نمایش دهیم

همزمان با خواندن مقدار فیلد بعدی سلول ان نیز ایجاد می شود

و همزمان با تمام شدن فیلدهای یک رکورد و ورود به رکورد بعدی سطر بعدی در جدول اچ تی ام ال  ایجاد می شود

 

 

<html>
<body>

<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "d:/northwind.mdb"

set rs = Server.CreateObject("ADODB.recordset")
rs.Open "SELECT Companyname, Contactname FROM Customers", conn
%>

 

 

 

<table border="1" width="100%">
<%do until rs.EOF%>
  <tr>
  <%

for each x in rs.Fields

%>
             <td><%Response.Write(x.value)%></td>
  <%

next
  rs.MoveNext%>
  </tr>
<%

loop
rs.close
conn.close
%>
</table>

</body>
</html>

 دقت کنید دستوراتی که ای اس پی نیستند و اچ تی ام ال هستند بیرون تگ Asp نوشته می شوند
 
 مشاهده خروجی برنامه بالا
 
اضافه کردن سطر عنوان به جدول اچ تی ام ال مثال قبل

 می خواهیم سطر اول جدول بانک که خوانده شد بصورت حروف پر رنگ نمایش داده شوند

می دانید که سطر اول همان نام فیلدهای جدول است

 برای این کار ما دوتا for می نویسیم

for اول که سطر اول را می خواند و در سلولهایی که با تگ th ساخته می شوند نشان داده می شود th محتوای سلول را پر رنگ یعنی bold می کند

 اط رکورد دوم به بعد جدول بانک را با for و حلقه loop دیگر می خوانیم

 

<html>
<body>

<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "d:/northwind.mdb"

set rs = Server.CreateObject("ADODB.recordset")
sql="SELECT Companyname, Contactname FROM Customers"
rs.Open sql, conn
%>

<table border="1" width="100%">
  <tr>
  <%

for each x in rs.Fields
    response.write("<th>" & x.name & "</th>")
  next

%>
  </tr>
  <%

do until rs.EOF

%>
    <tr>
    <%for each x in rs.Fields%>
      <td><%Response.Write(x.value)%></td>
    <%next
    rs.MoveNext%>
    </tr>
  <%

loop
  rs.close
  conn.close
  %>
</table>

</body>
</html>

 
 مشاهده اجرای برنامه بالا