LeftOver = FileLength Mod BLOCKSIZE ′得到剩余字节数 Fld.Value = Null ReDim byteData(BLOCKSIZE) ′重新定义数据块的大小 For i = 1 To NumBlocks Get SourceFile, , byteData() ′ 读到内存块中 逆@风@者 Fld.AppendChunk byteData() ′写入FLD Next i ReDim byteData(LeftOver) ′重新定义数据块的大小 Get SourceFile, , byteData() ′读到内存块中 Fld.AppendChunk byteData() ′写入FLD Close SourceFile ′关闭源文件 End If End Sub ---------------------- Private Sub Form_Load() Constr = ″DSN=image″ ′定义ODBC连接 ADOCon.Open Constr ′创建一个连接 ADORst.Open ″table″, ADOCon, adOpenDynamic, adLockOptimistic ′打开一个ADO动态集 表名为table Set AdoCtr.Recordset = ADORst ′将动态集赋给ADO控件 End Sub ---------------------- Private Sub Form_Unload(Cancel As Integer) ′记得关闭打开的数据集,释放资源 ADORst.Close ADOCon.Close Set ADORst = Nothing Set ADOCon = Nothing End Sub ---------------------- Private Sub PreView_Click() ′显示打开文件的公用对话框,选择需要加入数据库的图片 CDlg.Filter = ″位图(*.bmp)|*.bmp″ CDlg.ShowOpen FileName = CDlg.FileName PicBox.Picture = LoadPicture(FileName) ′预览图片 End Sub ---------------------- Private Sub Save_Click() ADORst.AddNew ′新增纪录 ADORst(″姓名″).Value = Names.Text ′给动态集的第一个字段赋值 ADORst(″编号″).Value = Numb.Text ′给动态集的第二个字段赋值 Set ADOFld = ADORst(″照片″) ′给ADODB.Field对象赋值 Call SaveToDB(ADOFld, FileName) ′调用子程序,给第三个字段(image)赋值 ADORst.Update End Sub ---------------------- Private Sub Update_Click() ′重新打开纪录集,刷新纪录 ADORst.Close ADOCon.Close Set ADORst = Nothing Set ADOCon = Nothing ADOCon.Open Constr ADORst.Open ″table″, ADOCon, adOpenDynamic, adLockOptimistic Set AdoCtr.Recordset = ADORst End Sub 程序运行后的结果如图2。 本程序在VB6.0/Windows98/WindowsNT下编译通过。 本文章更多内容:<<上一页 - 1 - 2 |