要弄清楚这两个问题,就要明白For循环语句的语法规则:
站在用户的角度思考问题,与客户深入沟通,找到高邮网站设计与高邮网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:网站建设、网站设计、企业官网、英文网站、手机端网站、网站推广、域名申请、雅安服务器托管、企业邮箱。业务覆盖高邮地区。
For循环语句,首先是判断循环条件,如果循环条件不合理,则循环不执行。
那么看第一个语句,循环范围是 i = -3.5 to 5.5,显然这个是一个从-3.5到5.5的递增范围,可是后面的Step却是一个负数,表示以0.5的步长递减。取值范围要求从小到大,可是步长改变却是由大变小,显然这个循环条件自相矛盾,所以循环将不会执行,也就是循环执行的次数是0次!
如果循环条件合理,则开始执行循环语句,直到根据步长变换,下一个值超出循环范围则终止。
For j = 6 to 2 Step -2
Next
完整写法就是:
For j = 6 to 2 Step -2
Next j
Next j的意思就是下一个j值。结合本题,下一个j值等于6-2=4,这个时候,就是循环语句的第二个规则,判断循环变量的值是否超出循环范围,我们这里的j=4,显然是在6 to 2这个范围之内,所以循环继续,到下一个j的时候为2,依然在循环范围内;到这里,6,4,2我们的循环执行了3次,准备第4次循环的时候j = 2 -2 = 0超过了6 to 2这个范围,那么循环终止。
所以i循环内的每一个j循环将执行3次。
我写了一段代码,注意你读取的方法,我改进了一下 Imports System.IO ‘代码窗体的最上端一定要声明
Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim sr As StreamReader Dim TextBox As Control
Dim i As Integer
i = 1
For Each TextBox In Me.Controls
If TypeName(TextBox) = "TextBox" Then sr = New StreamReader("c:\save\" i ".ini", System.Text.Encoding.Default) ’注意选择编码方式,按你原来的方法,未设置编码,显示的是乱码!路径请按你的情况改! TextBox.Text = sr.ReadToEnd()
i += 1 End If
Next
MsgBox("已经载入" i - 1 "个文件") End Sub注意:这样的代码是倒序的,第一个文本框显示的是最后一个文件的内容!请酌情处理!
'''两段程序就是利用.net的连接对象的功能来完成登录的实例
Private Sub btnStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStart.Click 'start按钮触发的函数
Dim schclass As String = Trim(txtClass.Text) ‘将txtClass里文本赋值给变量schclass
Dim selestr As String
’提示用户txtClass文本框不能为空
If schclass "" Then
selestr = "班级='" schclass "'"
Else
MsgBox("请输入班级名称", 64, "提示") ‘ 显示保存成功提示信息
End If
‘创建一个DataView对象,即将数据集DataSet11里的学生成绩表的DefaultView实例化
Dim dvresult As DataView = DataSet11.学生成绩.DefaultView
’按学号字段排序
dvresult.Sort = "学号"
‘按刚才txtClass里输入的班级查询
dvresult.RowFilter = selestr
dvresult.RowStateFilter = DataViewRowState.CurrentRows
’然后将筛选的结果输入到datagrid上
DataGrid1.DataSource = dvresult
End Sub
Private Sub btnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnOK.Click ‘ok按钮触发的函数
’如果txtUserName或txtPass文本框为空,提示并中断函数
If txtUserName.Text = "" Or txtPass.Text = "" Then
Response.Write("script language=vbscriptalert""用户名或密码不能为空!""/script")
Exit Sub
End If
‘定义链接、执行、阅读 对象
Dim mycon As New OleDbConnection
Dim mycmd As New OleDbCommand
Dim reader As OleDbDataReader
’给连接对象赋值连接字符串,access类型的。
mycon.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _
Server.MapPath("Msg.mdb")
‘打开连接对象
mycon.Open()
’将连接对象复制到执行对象上
mycmd.Connection = mycon
‘然后就给执行对象赋值执行类型和执行语句
mycmd.CommandType = CommandType.Text
mycmd.CommandText = "Select * from myuser Where 用户名='" txtUserName.Text "'" " and 密码='" txtPass.Text "'"
’然后将执行对象的监听实例化
reader = mycmd.ExecuteReader()
‘如果执行不成功,即没有得到结果集就提示否则将结果集的用户名赋值给一个session以供其他页面使用
If reader.Read = False Then
Response.Write("script language=vbscriptalert""用户名或密码错,你不能登录!""/script")
Else
Session("username") = reader("用户名")
Response.Redirect("lwmsg.aspx")
End If
’关闭监听
reader.Close()
‘关闭连接
mycon.Close()
End Sub
DT.Rows.ToString未必是指结果集中的所有数据,也许只是一行中所有的,或是一列中所有的
保险起见,可以一格格枚举
dim a as boolean=true
Dim row As DataRow
For Each row In DT.Rows
Dim column As DataColumn
For Each column In DT.Columns
if row(column).contains("Agree") then a=false
Next column
Next row
if a then
Me.rblAgReject.Items(0).Enabled = False
else
Me.rblAgReject.Items(0).Enabled = True
end if