实例,测试通过 Dim cn As New ADODB.Connection Dim rs As New ADODB.Recordset Private Sub Command2_Click() Dim strSQl As String strSQl = "select * from people" rs.Open strSQl, cn, adOpenDynamic, adLockOptimistic Open "d:\aa.txt" For Append As #1 While Not rs.EOF Print #1, rs!ID & vbTab & rs!Name & vbTab & rs!res rs.MoveNext Wend Close #1 rs.Close MsgBox "成功导出到文本!" End SubPrivate Sub Form_Load() If cn.State = 1 Then cn.Close End If cn.Open "driver={SQL Server};" & _ "server=students;uid=sa;pwd=;database=学生库" End Sub
你还没有结贴呢,所以我没有得到分 要结贴才有分'按行读取文本 Private Sub Command1_Click() Dim filenum As Integer Dim fileContents As String Dim fileInfo() As String Dim i As Integer
filenum = FreeFile Open "d:\aa.txt" For Binary As #filenum fileContents = Space(LOF(filenum)) Get #filenum, , fileContents Close filenum fileInfo = Split(fileContents, vbCrLf) '循环每一行,给文本框赋值 For i = 0 To UBound(fileInfo) - 1 text1.text=text1.text & fileInfo(i) & vbnewline Next End Sub
你的程序是把所有记录显示在一行,我现在加了一个回车符,为什么还显示在一行? For i = 0 To UBound(fileInfo) - 1 Text1.Text = Text1.Text & vbCrLf & fileInfo(i) & vbNewLine Next i
rs.open语句和rs.movenext不在一个事件里,下面不可行?? Private Sub Command1_Click()'第一题 rs.open"",dbcon,1,1 do while rs.eof text1.text=rs.fields("题目") rs.movenext loop end sub Private Sub Command2_Click()'下一题 rs.movenext text1.text=rs.fields("题目") end sub
修改 Private Sub Command1_Click()'第一题 rs.open"",dbcon,1,1 if not rs.eof then text1.text=rs.fields("题目") end if end sub Private Sub Command2_Click()'下一题 rs.movenext text1.text=rs.fields("题目") end sub
方法可行,就是点击command1后再点击command1则出现“operation is not allowed when the object is open”
你要这样写 Dim rs As New ADODB.Recordset Private Sub Command1_Click() '第一题 rs.MoveFirst Text1.Text = rs.Fields("题目") End Sub Private Sub Command2_Click() '下一题 rs.MoveNext Text1.Text = rs.Fields("题目") End Sub Private Sub Command3_Click() '最后一题 rs.MoveLast Text1.Text = rs.Fields("题目") End SubPrivate Sub Form_Load() rs.Open "", dbcon, 1, 1 End Sub
还有一些问题,如果连续点击下一题就会出错,我把程序改了一点。还不能解决这个错误? Private Sub Command1_Click() '第一题 If Not rs.EOF Then rs.MoveFirst Text1.Text = rs.Fields("dlmc") End IfEnd Sub Private Sub Command2_Click() '下一题 If Not rs.EOF Then rs.MoveNext Text1.Text = rs.Fields("dlmc")End If End Sub Private Sub Command3_Click() '最后一题 If Not rs.EOF Then rs.MoveLast Text1.Text = rs.Fields("dlmc") End If End Sub
Open "d:\aa.txt" For Append As #1 我想问一下这个#1是什么意思的阿,有什么用的,是用来输出的吗?
2、操作文本,写入数据
2、recordset.save...保存到dat文件中。
http://www.csdn.net/develop/read_article.asp?id=22674
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Private Sub Command2_Click()
Dim strSQl As String
strSQl = "select * from people"
rs.Open strSQl, cn, adOpenDynamic, adLockOptimistic Open "d:\aa.txt" For Append As #1
While Not rs.EOF
Print #1, rs!ID & vbTab & rs!Name & vbTab & rs!res
rs.MoveNext
Wend
Close #1
rs.Close MsgBox "成功导出到文本!"
End SubPrivate Sub Form_Load()
If cn.State = 1 Then
cn.Close
End If
cn.Open "driver={SQL Server};" & _
"server=students;uid=sa;pwd=;database=学生库"
End Sub
我已经把数据读到文本文件中了,现在我要把文本文件中的数据读到文本框中,怎样一次读一条记录?
要结贴才有分'按行读取文本
Private Sub Command1_Click()
Dim filenum As Integer
Dim fileContents As String
Dim fileInfo() As String
Dim i As Integer
filenum = FreeFile
Open "d:\aa.txt" For Binary As #filenum
fileContents = Space(LOF(filenum))
Get #filenum, , fileContents
Close filenum
fileInfo = Split(fileContents, vbCrLf)
'循环每一行,给文本框赋值
For i = 0 To UBound(fileInfo) - 1
text1.text=text1.text & fileInfo(i) & vbnewline
Next
End Sub
For i = 0 To UBound(fileInfo) - 1
Text1.Text = Text1.Text & vbCrLf & fileInfo(i) & vbNewLine
Next i
MultiLine 设置为 True 即可
得到的记录集和数据源已经断开连接既然你的程序不关闭,把数据放到内存中读取的速度是很快的,这和你读取文件效率
只高不低当点击下一题时,
rs.movenext
text1.text=ra!题目就好了
Private Sub Command1_Click()'第一题
rs.open"",dbcon,1,1
do while rs.eof
text1.text=rs.fields("题目")
rs.movenext
loop
end sub
Private Sub Command2_Click()'下一题
rs.movenext
text1.text=rs.fields("题目")
end sub
Private Sub Command1_Click()'第一题
rs.open"",dbcon,1,1
if not rs.eof then
text1.text=rs.fields("题目")
end if
end sub
Private Sub Command2_Click()'下一题
rs.movenext
text1.text=rs.fields("题目")
end sub
Dim rs As New ADODB.Recordset
Private Sub Command1_Click() '第一题
rs.MoveFirst
Text1.Text = rs.Fields("题目")
End Sub
Private Sub Command2_Click() '下一题
rs.MoveNext
Text1.Text = rs.Fields("题目")
End Sub
Private Sub Command3_Click() '最后一题
rs.MoveLast
Text1.Text = rs.Fields("题目")
End SubPrivate Sub Form_Load()
rs.Open "", dbcon, 1, 1
End Sub
Private Sub Command1_Click() '第一题
If Not rs.EOF Then
rs.MoveFirst
Text1.Text = rs.Fields("dlmc")
End IfEnd Sub
Private Sub Command2_Click() '下一题
If Not rs.EOF Then
rs.MoveNext
Text1.Text = rs.Fields("dlmc")End If
End Sub
Private Sub Command3_Click() '最后一题
If Not rs.EOF Then
rs.MoveLast
Text1.Text = rs.Fields("dlmc")
End If
End Sub
我想问一下这个#1是什么意思的阿,有什么用的,是用来输出的吗?