2、使用API函数Private Declare Function SQLDataSources Lib "ODBC32.DLL" (ByVal henv As Long, ByVal fDirection As Integer, ByVal szDSN As String, ByVal cbDSNMax As Integer, pcbDSN As Integer, ByVal szDescription As String, ByVal cbDescriptionMax As Integer, pcbDescription As Integer) As Integer Private Declare Function SQLAllocEnv Lib "ODBC32.DLL" (ByRef env As Long) As Long 列举出所有DNS。
问:处理文本文件是导入数据库还是直接读写文件呢?
解决方法:
Set main = bumony.OpenRecordset("main") Open App.Path & "\sources\" & Text1.Text & "\´úÀíÒµÎñ" & Text1.Text & ".txt" For Input As #1 Do While Not EOF(1) Line Input #1, str1 With main .AddNew !code = Mid(str1, 1, 5) !date = Text1.Text If Mid(str1, 1, 5) = "21310" Or Mid(str1, 1, 5) = "21311" Or Mid(str1, 1, 5) = "21410" Or Mid(str1, 1, 5) = "21411" Then !Money = Trim(Mid(str1, 7, 10)) Else !Money = Trim(Mid(str1, 7, 10)) & "0000" End If !whao = "1102" !ywhao = "1102" .Update End With Loop Close #1 main.Close
问:调用SQL存储后有参数返回,应该怎么赋值?
解决方法:
Dim ADOCmd As New ADODB.Command Dim ADOPrm As New ADODB.Parameter Dim ADORs As ADODB.Recordset
.... Set ADOCmd.ActiveConnection = ADOCon With ADOCmd .CommandType = adCmdStoredProc .CommandText = "ADOTestRPE" End With
Dim Chunk() As Byte Dim lngLengh As Long Dim intChunks As Integer Dim intFragment As Integer Const ChunkSize = 1000 Const lngDataFile = 1
Private Sub cmdBrowse_Click()
On Error Resume Next With cmdlFilePath .Filter = "JPG Files|*.JPG|Bitmaps|*.BMP" .ShowOpen txtFilePath.Text = .filename End With End Sub
Private Sub Savepic()
Open "c:\colordraw0094_m.jpg" For Binary Access Read As lngDataFile lngLengh = LOF(lngDataFile) If lngLengh = 0 Then Close lngDatafile: Exit Sub intChunks = lngLengh \ ChunkSize intFragment = lngLengh Mod ChunkSize
OpenData 打开数据库 Dim i As Integer Dim rs As New ADODB.Recordset Dim strQ As String
ReDim Chunk(intFragment) Get lngDataFile, , Chunk() rs.Fields("rs_photo1").AppendChunk Chunk() ReDim Chunk(ChunkSize)
For i = 1 To intChunks Get lngDataFile, , Chunk() rs.Fields("rs_photo1").AppendChunk Chunk() Next i
rs.Update rs.Close Close lngDataFile Call ShowPic
End Sub
Public Sub ShowPic()
OpenData 打开数据库 Dim i As Integer Dim rs As New ADODB.Recordset Dim strQ, filename As String If rs.State = adStateOpen Then rs.Close
strQ = "Select * From [mydata]" rs.Open strQ, conn, adOpenStatic, adLockOptimistic If rs.EOF <> True Then rs.MoveLast Else Exit Sub End If On Error Resume Next Open "pictemp" For Binary Access Write As lngDataFile lngLengh = rs.Fields("rs_photo1").ActualSize intChunks = lngLengh \ ChunkSize intFragment = lngLengh Mod ChunkSize ReDim Chunk(intFragment) Chunk() = rs.Fields("rs_photo1").GetChunk(intFragment) Put lngDataFile, , Chunk() For i = 1 To intChunks ReDim Buffer(ChunkSize) Chunk() = rs.Fields("rs_photo1").GetChunk(ChunkSize) Put lngDataFile, , Chunk() Next i Close lngDataFile filename = "pictemp" Picture1.Picture = LoadPicture(filename) Image1.Stretch = True Image1.Picture = Picture1.Picture Kill filename