当前位置: 网学 > 编程文档 > SQL SERVER > 正文

实现对SQL Server含Image字段数据表浏览与打印

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/18
下载{$ArticleTitle}原创论文样式

          在开发设计SQL Server数据库软件过程中,经常会遇到数据库对表查询时要求含有Image字段图片信息与数据信息一同显示情况,以达到“图文并茂”的效果,并随时输出打印;这也是目前应用软件开发一种新趋势与新潮流。现今多数行业开发设计应用系统都具备这一特点;如:社保、医保、身份证、学生学籍等管理系统。为了让朋友们对这一开发方法和实现过程有所了解,本人将在开发[汽车零部件管理系统]中,针对[汽车零部件卡片信息浏览与打印]界面为例,对实现[SQL Server含Image字段的数据表浏览与打印]方法进行介绍。[软件环境:VB6.0、SQL Server2000和Crystal Report9.0]

如图1为:汽车零部件卡片信息窗体界面                                 下面分四个方面介绍如下:

一、   功能介绍

1>.实现方法

    该窗体主要是解决如何对含有Image字段的数据表内容进行浏览和打印方法;首先,我们采取了用MSFlexgrid控件存放符合条件的全部零部件结果集的记录;其次,并通过人机对话方式[用鼠标单击网格MSFlexgrid控件中有效行],可将要浏览零部件数据显示在窗体下方“框架”控件中,将含有Image字段的图片显示在窗体右上方“图片框内的图像”控件中,使得一条记录全部信息的浏览;最后,随时选择【打印卡片】将显示内容由打印机输出到尺码为8X6卡片纸上达到软件设计要求;可见效果图如图2所示。

                   2>.设计开发要点

①. 图片在窗体上的显示,采取表+实体的方法,即图像数据以文件形式存放于指定的计算机目录下,在数据库表中只反映图片数据文件的存储路径,使图片在窗体上显示。

②. 对打印卡片中图片,采取直接将Image图片字段名为Picture的内容调入到CrystalReport9.0的水晶报表的设计器中得以实现。

③. 在数据装入MSFlexgid控件过程中,本人加了对[网格列单元背景颜色的设置],凡为单数“列”背景颜色均置为“浅绿”。注:列的下标是由0……N.

④. 放大图片显示,采取调用另一个窗体来完成。只要[双击图片控件]即可完成此操作。

⑤. 卡片打印设计,按照Crystal Report9.0设计器“信签”方式进行了布局;具体步骤本文后面将做介绍,这里不多赘述。

3>.给出主要程序代码

 

①.模块变量定义

 

Option Explicit

Dim mConn As ADODB.Connection     ''连接

Dim rstByQuery As ADODB.Recordset ''结果集

Dim sSQL1 As String               ''定义字符串

Public Tu_name As String          ''图片字符串[全局变量]

②.装入零件数据

Sub xs_Call()          ''在按钮中的代码:

On Error Resume Next

Dim i As Integer

Dim J As Integer

Dim P As Integer

clea_xy                ''刷新网格信息

Set rstByQuery = New ADODB.Recordset

Set rstByQuery = New Recordset

rstByQuery.Open "Select * From SQR7160 ", mConn, adOpenStatic, adLockOptimistic

i = 0

Do While Not rstByQuery.EOF

i = i + 1                    '' I 中保存记录个数

rstByQuery.MoveNext

Loop

MSFlexGrid1.Rows = i + 1     , ''动态设置MSFlexGrid的行和列

MSFlexGrid1.Cols = rstByQuery.Fields.Count + 1

MSFlexGrid1.Row = 0

For i = 0 To rstByQuery.Fields.Count - 1

    MSFlexGrid1.Col = i

    MSFlexGrid1.Text = rstByQuery.Fields.Item(i).Name

    If rstByQuery.Fields(i).DefinedSize < 40 Then

         MSFlexGrid1.ColWidth(i) = 1200

     Else

         MSFlexGrid1.ColWidth(i) = 2200

     End If

Next                        ''设置第一行的标题,用字段名填充

rstByQuery.Close ''''''

i = 0

rstByQuery.Open "Select * From SQR7160 ", mConn, adOpenStatic, adLockOptimistic

Do While Not rstByQuery.EOF

 i = i + 1

 MSFlexGrid1.Row = i          ''确定显示数据行

 P = 1                        ''单数位背景置色=1/双数位背景置色=0

 For J = 0 To rstByQuery.Fields.Count - 1

        MSFlexGrid1.Col = J 

        MSFlexGrid1.Text = rstByQuery(J)             ''填充所有列数据

   If J = P And J <= rstByQuery.Fields.Count - 1 Then   ''

        MSFlexGrid1.Col = P

        MSFlexGrid1.CellBackColor = &HC0FFC0    ''浅绿色背景

        P = P + 2

      End If

 Next

rstByQuery.MoveNext

Loop                       ''这个循环用来填充MSFlexGrid的内容

rstByQuery.Close ''''''

Text1.Text = ""

Text1.Text = CStr(i)

End Sub

③.点击MSFlexgrid网格控件有效行的代码Private Sub MSFlexGrid1_Click() ''浏览网格数据的全部代码    On Error Resume Next    Txt_path.Text = ""    ZP.Visible = True    MSFlexGrid1.Col = 0: Txt_NO.Text = MSFlexGrid1.Text   '' 编号    ……                      ‘部分代码类同的略去!    MSFlexGrid1.Col = 10: Txt_LSJ.Text = Format(MSFlexGrid1.Text, "#0.#0") ''零售价     If Txt_path.Text <> "" Then     ‘存放图片的目录路径及图片文件名        Tu_name = Trim$(Txt_path.Text)        If Dir(Tu_name) = "" Then          MsgBox "照片文件输入错误!!", 32, "错误提示”"          Exit Sub        End If        ZP.Picture = LoadPicture(Tu_name) ''装入图片并显示到窗体指定处     End IfEnd Sub④.【打印卡片】按钮的代码Private Sub Command2_Click()Dim sSQL1 As StringDim rq1, rq2 As VariantDim MY_N1, MY_N2 As StringMY_N1 = "[天津市津东方汽配中心]"MY_N2 = "零部件-业务卡片"rq1 = "2005-01-01"rq2 = "2005-12-30"rq = "建卡区间:" & rq1 & " 至 " & rq2sSQL1 = "Update bt_00 Set dd_bt=''" & MY_N1 & "'',dd_bt01=''" & MY_N2 & "'',,DT1=''" & rq & "''"mConn.Execute sSQL1                    ’定义打印卡片表头信息mConn.Execute "Delete From sqr_prt"mConn.Execute " Insert SQR_prt Select * From SQR7160 Where 编号=''" & Txt_NO.Text & "''"MY_WT = "111"                         ‘定义打印文件编号XP_PRT.Show                           ‘调用打印窗体Command2.Enabled = TrueEnd Sub

&

  • 上一篇资讯: sql语法介绍(续)
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号