2012-11-13 22 views
3

我试图设置一个asp:标签,每天从ms-access数据库显示一个值。如何使用递增变量在标签中显示.mdb信息

我设置了一个每天增加一次的变量“ID”,并且我试图使用“ID”变量作为“sID”的行号调用.mdb中的“Name”值。 数据库和名称上只有三个名称每天都会更改,除非在星期六和星期日。

当我在浏览器中运行该网站时,出现无语法错误。 但它什么也没有显示。

我不确定我的查询或显示代码是否错误。

我粘贴了下面的.vb代码。 上的.aspx我只有

Public Class Mat 
    Inherits System.Web.UI.Page 

    Public Sub page_load() 

     Dim ID As Long 
     Dim sConString As String 
     Dim sCon As SqlConnection 
     Dim scmd As SqlCommand 

     sCon = New SqlConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Data\sAuditor.mdb") 
     scmd = New SqlCommand() 

     ID = 1 
     If DatePart("hh", Now()) = 12 And DatePart("mi", Now()) = 0 And DatePart("ss", Now()) = 0 Then 

      If DatePart("w", Now()) <> 0 And DatePart("w", Now()) <> 1 Then 

       If ID < 3 Then 
        ID = ID + 1 
       Else 
        ID = 1 
       End If 

      End If 

     End If 

     scmd.CommandText = "SELECT Name FROM EssAudit WHERE sID=ID" 
     scmd.Connection = sCon 

     Try 

      sCon.Open() 
      Dim sReader As SqlDataReader 
      sReader = scmd.ExecuteReader 

      While sReader.Read 
       slabel.Text = sReader.Item("Name") 
      End While 

      sReader.Close() 

     Catch ex As Exception 
     End Try 

     sCon.Close() 

    End Sub 


End Class 
+0

与您的问题无关,DatePart函数是VB6天的延期。你的代码将更容易阅读使用新的方法:Now()。Month,Now()。Hour等 –

回答

3

你是不是通过ID的值,则传递字符串“ID” SELECT语句。试试这个:

scmd.CommandText = "SELECT [Name] FROM EssAudit WHERE [email protected]" 
    scmd.Parameters.AddWithValue("@ID", ID) 

我会补充一点,如果你在catch部分做了一些事情,错误信息可能帮你找到了错误。简单地忽略错误几乎不可能。

+0

aaa好点。 – Fionnuala

+0

这工作得很好,非常感谢你的帮助! –