在asp中Option Explicit 语句

今天遇到一个问题,Option Explicit 语句,到网上查了下,大概明白是什么意思了。

在asp中Option Explicit 语句

用于在文件级强制对该文件中的所有变量进行显式声明。

Option Explicit { On | Off }

各部分说明

On
可选。启用 Option Explicit 检查。如果在 Option Explicit 语句后没有指定 On 或 Off,则默认为 On。
Off
可选。禁用 Option Explicit 检查。

备注

如果使用,则 Option Explicit 语句必须出现在文件中其他所有源语句之前。

当 Option Explicit 出现在文件中时,必须使用 Dim、Private、Public 或 ReDim 语句显式声明所有变量。试图使用未声明的变量名将发生编译时错误。

如果没有使用 Option Explicit 语句,则所有未声明的变量都是 Object 类型。

注意 使用 Option Explicit 可避免拼错现有变量的名称,或避免在变量范围不清楚的代码中产生混淆。如果代码中没有指定 Option Explicit,编译器的默认设置将是 Option Explicit On。

示例

本示例使用 Option Explicit 语句强制所有变量的显式声明。试图使用未声明的变量将导致编译时错误。Option Explicit 语句只用在模块级。

Option Explicit On ' Force explicit variable declaration.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Option Explicit<br>Public txtSQL As String<br>Dim mrc As adodb.Recordset<br>'用户的读写权限标识<br>Dim mintRW As Integer<br>'状态条显示的时间信息<br>Public msBarText As String<br>Public reportSQL As String<br>Public Sub RecordFind()<br> '<br>End Sub<br>Public Sub RecordRefresh()<br> <br> '显示数据<br> msBarText = "当前数据时间范围:" & Format(DateAdd("m", -1, Now), "yyyy-mm-dd") & "至" & Format(Now, "yyyy-mm-dd")<br> <br> ShowData<br>End Sub<br><br><br>Public Sub RecordAdd()<br> gintCKSmode = ADD<br> frmCKSetup1.Show 1<br> 'ShowData<br>End Sub<br><br><br>'删除记录<br>Public Sub RecordDelete()<br> Dim sSQL As String<br> Dim intCount As Integer<br> Dim recTemp As adodb.Recordset<br> Dim MsgText As String<br> <br> <br> On Error GoTo myErr<br> <br> If msgList.Rows > 1 Then<br> If MsgBox("真的要删除仓库编号为" & Trim(msgList.TextMatrix(msgList.Row, 1)) & "的记录吗?", vbOKCancel + vbExclamation, "警告") = vbOK Then<br> intCount = msgList.Row<br> <br> sSQL = "select * from inh full join outh on inh.ckdm = outh.ckdm full join kucun on inh.ckdm =kucun.ckdm full join zc zc1 on zc1.i_ckdm = inh.ckdm full join zc zc2 on zc2.o_ckdm = inh.ckdm where "<br> sSQL = sSQL & "inh.ckdm = '" & Trim(msgList.TextMatrix(intCount, 1)) & "'"<br> sSQL = sSQL & "or outh.ckdm = '" & Trim(msgList.TextMatrix(intCount, 1)) & "'"<br> sSQL = sSQL & "or kucun.ckdm = '" & Trim(msgList.TextMatrix(intCount, 1)) & "'"<br> sSQL = sSQL & "or zc1.i_ckdm = '" & Trim(msgList.TextMatrix(intCount, 1)) & "'"<br> sSQL = sSQL & "or zc2.o_ckdm = '" & Trim(msgList.TextMatrix(intCount, 1)) & "'"<br> <br> Set recTemp = ExecuteSQL(sSQL, MsgText)<br> If Not recTemp.EOF Then<br> MsgBox "数据库存在与" & Trim(msgList.TextMatrix(intCount, 2)) & "相关的纪录,不能删除!", vbOKOnly, "警告"<br> Exit Sub<br> Else<br> sSQL = "delete from dm_ck where dm ='" & Trim(msgList.TextMatrix(intCount, 1)) & "'"<br> Set recTemp = ExecuteSQL(sSQL, MsgText)<br> End If<br> <br> 'Unload frmCKSetup<br> 'frmCKSetup.txtSQL = "select * from dm_ck"<br> 'frmCKSetup.Show<br> ShowData<br> End If<br> End If<br> <br> Exit Sub<br> <br>myErr:<br> ShowError<br>End Sub<br><br>Public Sub RecordEdit()<br> Dim intCount As Integer<br> <br> If msgList.Rows > 1 Then<br> gintCKSmode = EDIT<br> intCount = msgList.Row<br> If intCount > 0 Then<br> frmCKSetup1.txtSQL = "select * from dm_ck where dm ='" & Trim(msgList.TextMatrix(intCount, 1)) & "'"<br> frmCKSetup1.Show 1<br> Else<br> MsgBox "警告", vbOKOnly + vbExclamation, "请首先选择需要修改的纪录!"<br> End If<br> ShowData<br> Else<br> Call RecordAdd<br> End If<br>End Sub<br><br><br>Private Sub Form_Activate()<br> '设置读写权限<br> SetWorkRW mintRW<br> fMainForm.sbStatusBar.Panels(1).Text = msBarText<br>End Sub<br><br>Private Sub Form_Load()<br> '用户操作权限<br> Dim sPermission As String<br> Dim recTemp As Recordset<br> Dim sSQL As String<br> Dim sByte As String<br> Dim MsgText As String<br> <br> On Error GoTo myErr<br> '设置操作的表名称<br> 'msTableName = "ampaytune"<br> 'msRptName = "paytune.rpt"<br> 'msOrderBy = " order by tzdate,tzid"<br> 'sOrder0 = "+ {tzdate}"<br> 'sOrder1 = "+ {tzid}"<br> 'msSelect = "select * from "<br> <br> '置mintRW初值<br> mintRW = 0<br> sSQL = "select rw from permission where module=10 and id='" & sUserName & " '"<br> Set recTemp = ExecuteSQL(sSQL, MsgText)<br> If recTemp.EOF = False Then<br> mintRW = CInt(recTemp!rw)<br> Else<br> mintRW = ERRORMODE<br> SetMdiEnv<br> MsgBox "您的帐号权限有错误!", vbOKOnly + vbCritical, "错误"<br> Exit Sub<br> End If<br> <br><br> <br> '设置msSql<br> 'msSql = msSelect & msTableName & " where tzdate>='" & Format(DateAdd("m", -1, Now), "yyyy-mm-dd") & "' and tzdate<='" & Format(Now, "yyyy-mm-dd") & "'" & msOrderBy<br> <br> '显示数据<br> msBarText = "当前数据时间范围:" & Format(DateAdd("m", -1, Now), "yyyy-mm-dd") & "至" & Format(Now, "yyyy-mm-dd")<br> ShowTitle<br> ShowData<br> <br> Set recTemp = Nothing<br> Exit Sub<br> <br>myErr:<br> ShowError<br><br><br><br><br><br><br>End Sub<br><br>Private Sub Form_Resize()<br> If Me.WindowState <> vbMinimized And fMainForm.WindowState <> vbMinimized Then<br> '边界处理<br> If Me.ScaleHeight < 10 * lblTitle.Height Then<br> <br> Exit Sub<br> End If<br> If Me.ScaleWidth < lblTitle.Width + lblTitle.Width / 2 Then<br> <br> Exit Sub<br> End If<br> '控制控件的位置<br> <br> lblTitle.Top = lblTitle.Height<br> lblTitle.Left = (Me.Width - lblTitle.Width) / 2<br> <br> msgList.Top = lblTitle.Top + lblTitle.Height + lblTitle.Height / 2<br> msgList.Width = Me.ScaleWidth - 200<br> msgList.Left = Me.ScaleLeft + 100<br> msgList.Height = Me.ScaleHeight - msgList.Top<br> <br> End If<br>End Sub<br><br><br><br>Public Sub FormClose()<br> Unload Me<br>End Sub<br>Private Sub ShowData()<br> <br> Dim j As Integer<br> Dim i As Integer<br> Dim MsgText As String<br><br> On Error GoTo myErr<br> <br> <br> Set mrc = ExecuteSQL(txtSQL, MsgText)<br> With msgList<br> .Rows = 1<br> <br> Do While Not mrc.EOF<br> .Rows = .Rows + 1<br> For i = 1 To mrc.Fields.Count<br> If Not IsNull(Trim(mrc.Fields(i - 1))) Then<br> Select Case mrc.Fields(i - 1).Type<br> Case adDBDate<br> .TextMatrix(.Rows - 1, i) = Format(mrc.Fields(i - 1) & "", "yyyy-mm-dd")<br> Case Else<br> .TextMatrix(.Rows - 1, i) = mrc.Fields(i - 1) & ""<br> End Select<br> End If<br> Next i<br> mrc.MoveNext<br> Loop<br> <br> <br> End With<br><br> <br> fMainForm.sbStatusBar.Panels(1).Text = msBarText<br> Set mrc = Nothing<br> Exit Sub<br> <br>myErr:<br> ShowError<br> <br> <br>End Sub<br><br><br>'显示Grid表头<br>Private Sub ShowTitle()<br> Dim i As Integer<br> <br> With msgList<br> .Cols = 4<br> .TextMatrix(0, 1) = "仓库编号"<br> .TextMatrix(0, 2) = "仓库名称"<br> .TextMatrix(0, 3) = "备注信息"<br> <br> '固定表头<br> .FixedRows = 1<br> <br> '设置各列的对齐方式<br> For i = 0 To 3<br> .ColAlignment(i) = 0<br> Next i<br> <br> <br> '表头项居<br> .FillStyle = flexFillRepeat<br> .Col = 0<br> .Row = 0<br> .RowSel = 1<br> .ColSel = .Cols - 1<br> .CellAlignment = 4<br> <br> '设置单元大小<br> .ColWidth(0) = 1000<br> .ColWidth(1) = 1000<br> .ColWidth(2) = 2000<br> .ColWidth(3) = 3000<br> .Row = 1<br> <br> End With<br>End Sub<br><br><br><br><br>Private Sub Form_Unload(Cancel As Integer)<br> SetMdiEnv<br>End Sub<br><br>Private Sub msgList_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)<br> '右键弹出<br> If Button = 2 And Shift = 0 Then<br> <br> End If<br> <br>End Sub<br><br><br>在该网站的上传权限,但不允许上传违犯国家安全及违犯《华人民共和国著作权法》等相关法律法规,以及一切色情、病毒、等危害广大用户利益的资源。同时要遵守CSDN下载社区上传规则,如一经发现或收到举报我社区有权删除,并将扣除上传者在下载社区的全部积分,而因此带来的一切后果由上传者自负。 <br><br>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值