数据库应用系统开发程序代码.doc_第1页
数据库应用系统开发程序代码.doc_第2页
数据库应用系统开发程序代码.doc_第3页
数据库应用系统开发程序代码.doc_第4页
数据库应用系统开发程序代码.doc_第5页
已阅读5页,还剩24页未读 继续免费阅读

VIP免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库应用系统开发数据库系统开发案例图书现场采购系统系统主窗体的实现1数据表结构的实现经过前面的需求分析和概念结构设计以后,得到了数据库的逻辑结构。现在就可以在SQL Server 2000数据库系统中实现该逻辑结构。可以直接在SQL Server 2000企业管理器中创建表,也可以在SQL查询分析器中创建。下面给出在查询分析器中创建这些表的SQL语句,读者可以将这些表创建在系统的pubs数据库中。(1)创建书商图书基本信息表bookseller_bookinfoCREATE TABLE bookseller_bookinfo(rec_id Bigint PRIMARY KEY nextval(serial),isbn varchar(20) null,bookname varchar(200) null,author varchar(50) null,publisher_date varchar(50) null,publisher varchar(50) null,class_name varchar(50) null,book_price numeric DEFAULT 0,book_num int DEFAULT 0,provider varchar(50) null)(2)创建图书馆图书馆藏基本信息表library_bookinfoCREATE TABLE library_bookinfo (rec_id Bigint PRIMARY KEY nextval(serial),isbn varchar(20) null,bookname varchar(200) null,author varchar(50) null,publisher_date varchar(50) null,publisher varchar(50) null,class_name varchar(50) null,book_price numeric DEFAULT 0,book_num int DEFAULT 0,provider varchar(50) null)(3)创建用户注册表userenroll_infoCREATE TABLE userenroll_info (rec_id int PRIMARY KEY nextval(serial),machine varchar(50) null,decode varchar(50) null)2系统主窗体的创建 上面的SQL语句在SQL Server 2000中查询分析器执行后,将自动产生需要的所有表。有关数据结构的所有后端工作已经完成。现在将通过图书现场采购系统中功能模块的实现,介绍如何使用Visual Basic来编写数据库系统的客户端程序。(1)创建工程项目BOOKCG_MIS启动VB,在VB工程模板中选择“标准 EXE”,VB将自动产生一个Form窗体,这里删除这个窗体。单击“文件保存工程”菜单项,保存工程,将这个工程命名为BookCG_MIS.vbp。(2)创建图书现场采购管理系统主窗体Visual Basic创建的应用程序可以是SDI(单文档界面)和MDI(多文档界面)。这里采用MDI多文档界面,可以使程序更为美观、整齐有序。单击工具栏中的“添加MDI窗体”按钮,添加一个多文档界面,后单击工具栏中的“菜单编辑器”创建主窗体的菜单,生成一个如图14-15所示的主窗体,主窗体的Caption属性设为“图书现场采购管理系统”,Name属性为“frmmain”。主窗体保存文件名为frmmain.frm。菜单结构参考图14-12。 图14-15 系统主窗体(3)创建公用模块在Visual Basic中可以用公用模块来存放整个工程项目公用的函数、全局变量等。便于各窗体模块调用公用模块中的函数、变量,以提高代码的效率。在项目资源管理器中为项目添加一个Module,保存为Module1.bas,此工程项目的公用模块程序中的过程和函数据如下:SQL Server 2000服务器连接字符串函数Public Function ConnectString() As StringConnectString = Provider=SQLOLEDB.1;Password=sa;User ID=sa;Initial Catalog=pubs; Data Source =127.0.0.1 设置SQL Server2000数据库链接字符串,此字符串可保存在目录文件中End FunctionSQL命令执行函数Public Function ExecuteSQL(ByVal SQL As String, MsgString As String) As ADODB.Recordset Dim cnn As ADODB.Connection Dim rst As ADODB.Recordset Dim sTokens() As String On Error GoTo ExecuteSQL_Error sTokens = Split(SQL) Set cnn = New ADODB.Connection cnn.Open ConnectString If InStr(INSERT,DELETE,UPDATE,EXECUTE, UCase$(sTokens(0) Then cnn.Execute (SQL) MsgString = sTokens(0) & query successful Else Set rst = New ADODB.Recordset rst.Open Trim$(SQL), cnn, adOpenKeyset, adLockOptimistic Set ExecuteSQL = rst MsgString = 查询到 & rst.RecordCount & 条记录 End IfExecuteSQL_Exit: Set rst = Nothing Set cnn = Nothing Exit FunctionExecuteSQL_Error: MsgString = 查询错误: & Err.Description Resume ExecuteSQL_ExitEnd Function这两个函数在后面的实例中将频繁用到,ConnectString函数为连接SQL Server 2000数据库的参数调用函数,为简便起见写在程序中,实际应用中可以把连接数据库的参数保存在配置文件中,通过程序来调用。ExecuteSQL函数执行SQL语句,如删除、更新、添加和查询,只有执行查询语句时才返回记录集对象。启动函数SubMainSub main() register.ShowEnd Sub系统启动时,首先执行用户登录窗体。用户管理模块的实现用户管理模块主要实现对软件的加密,防止盗版,使得软件只能在注册的机器上运行,主要实现生成机器码、用户注册和用户登录验证的功能。所有这些功能在系统的用户登录界面中实现。1用户登录窗体的创建系统启动后,如果未注册,则显示如图14-16所示的窗体,如果注册成功后,将显示如图14-17所示的窗体。两个图中所有控件在同一窗体中,只是在不同的情况下隐藏了相应的控件。 图14-16 未注册时的窗体 图14-17 注册后用户登录窗体用户登录窗体中放置两个文本框(TextBox),用来输入机器码和注册码;3个按钮(CommandButton)用来进入、注册和退出系统;3个标签(Label)用来显示窗体的信息。这些控件的属性设置见表14-12。表14-12 登录窗体中各个控件的属性设置控件属性属性取值说明Register(Form)Caption登录窗体StartUpPositionCenterScreen窗体显示在屏幕中央Text1NameText1机器码文本框Text2NameText2注册码文本框cmdokCaption进入命令按钮cmdcancelCaption退出退出按钮cmdenrollCaption注册注册按钮Label1Caption图书现场采购管理系统提示Label2Caption机器码为:Label3Caption请输入注册码:此程序在Form_load()实现的代码如下:Private Sub Form_Load() Dim machine As String 机器码 Dim machine_decode As String 机器码对应的注册码 Dim txtsql As String 用来存放SQL语句 Dim mrc As ADODB.Recordset 用来存放返回记录集对象 Dim msgtext As String 用来存放返回信息 machine = GetSerialNumber(c:) 取硬盘的序列号作为机器码 machine_decode = getserialn() 取硬盘机器码对应的注册码 text1.Text = machine 在Text1文本框中显示机器码 txtsql = select * from userenroll_info where machine= & machine & and decode= & machine_decode & Set mrc = ExecuteSQL(txtsql, msgtext) 在用户注册表中查找机器码和注册码 If mrc.EOF Then 没找到机器注册信息,显示登录界面中的注册框,隐藏进入按钮 MsgBox 没有注册信息! cmdok.Visible = False cmdenroll.Visible = True Else 找到机器注册信息,隐藏登录界面中的注册框,显示进入按钮 MsgBox 找到注册信息 cmdok.Visible = True cmdenroll.Visible = False Label2.Visible = False Label3.Visible = False text1.Visible = False text2.Visible = False End If Set mrc = NothingEnd SubPrivate Sub cmdok_Click() 验证成功时进入系统 Unload Me frmmain.ShowEnd SubPrivate Sub cmdcancel_Click() 退出系统EndEnd Sub2生成机器码函数Function GetSerialNumber(strDrive As String) As Long获取机器码函数,取硬盘的序列号 Dim SerialNum As Long Dim Res As Long Dim Temp1 As String Dim Temp2 As String Temp1 = String$(255, Chr$(0) Temp2 = String$(255, Chr$(0) Res = GetVolumeInformation(strDrive, Temp1, _ Len(Temp1), SerialNum, 0, 0, Temp2, Len(Temp2) GetSerialNumber = -SerialNumEnd FunctionFunction getserialn() As String获取机器码对应的注册码,对硬盘的序列号(机器码)进行变换,转为注册码 Dim inputseial As String Dim n As String Dim n1 As String Dim n2 As String Dim p As Long Dim p1 As Long Dim p2 As Long Dim i As Long p = 0 p1 = 0 p2 = 0 n = n1 = n2 = n = Str(GetSerialNumber(c:) n1 = n n2 = n If Len(n) 20 Then n = Left(n, 20) n1 = Left(n1, 20) n2 = Left(n2, 20) End If For i = 1 To 20 p = p + Asc(Mid(n, i, 1) * 199 p1 = p1 + Asc(Mid(n1, i, 1) * 179 p2 = p2 + Asc(Mid(n2, i, 1) * 109 Next inputseial = Format(p) + - + Format(p1) + - + Format(p2) getserialn = inputseial End Function在GetSerialNumber()函数中需要调用API函数GetVolumeInformation()来获取盘区信息,其中卷序列号也就是磁盘每个分区的序列号,此函数需在用户登录窗体中申明,函数格式如下。Private Declare Function GetVolumeInformation Lib _ kernel32.dll Alias GetVolumeInformationA (ByVal _ lpRootPathName As String, ByVal lpVolumeNameBuffer As _ String, ByVal nVolumeNameSize As Integer, _ lpVolumeSerialNumber As Long, lpMaximumComponentLength _ As Long, lpFileSystemFlags As Long, ByVal _ lpFileSystemNameBuffer As String, ByVal _ nFileSystemNameSize As Long) As Long 取硬盘卷信息的动态链接库此函数不需要手工输入,可通过VB工具“API文本浏览器”获取,在Windows桌面选择“开始程序 Microsoft Visual Basic 6.0中文版 Microsoft Visual Basic 6.0中文版工具API文本浏览器”选项,打开API阅览器如下图14-18所示。从“文件”菜单中选择“加载文本文件”菜单项,加载WIN32API.TXT文本文件,此时在“可用项”中选择“GetVolumeInformation”并双击,则此函数的声明显示在“选定项”文本框中,此时可将此函数复制用户管理窗体中。 图14-18 API文本浏览器3用户注册程序 如果用户第一次登录,则应在文本框(text2)中输入从软件商处取得的注册码,进行注册,执行cmdenroll_Click程序后,将机器码和注册码写入SQL Server 2000数据库中。Private Sub cmdenroll_Click()在text2中输入软件商所提供的注册码,写入数据库的userenroll_info表中Dim txtsql As String 用来存放SQL语句Dim mrc As ADODB.Recordset 用来存放返回记录集对象Dim msgtext As String 用来存放返回信息If Len(text2.Text) 20 Then MsgBox 您输入的注册码错误! Exit SubEnd IfIf text2.Text getserialn() Then MsgBox 注册码错误,请重新输入! Exit SubEnd If注册码输入正确,写入数据库,同时显示进入按钮,隐藏注册对象.On Error GoTo err1txtsql = INSERT INTO userenroll_info (machine,decode) values ( & text1.Text & , & text2.Text & )Set mrc = ExecuteSQL(txtsql, msgtext) 在用户注册表中查找机器码和注册码MsgBox 注册成功! cmdok.Visible = True cmdenroll.Visible = False Label2.Visible = False Label3.Visible = False text1.Visible = False text2.Visible = FalseExit Suberr1:MsgBox 添加注册信息失败!End Sub采购数据管理模块的实现采购数据管理模块主要实现如下功能:添加采购信息、修改采购信息、和查询采购信息。1添加采购信息窗体的创建选择“采购数据处理采购数据添加”菜单,将出现如图14-19所示的窗体。 图14-19 添加采购数据窗体在窗体中放置了多个文本框,用来输入图书及采购信息;两个命令按钮用来确定添加采购信息和退出;加入多个标签用来提示文本框内容。这些控件的属性设置如表14-13所示。表14-13 添加采购信息窗体中各控件的属性设置控件属性属性值说明Frmxjadd(Form)Namefrmxjadd当前窗体Caption采购数据添加Text1NameText1输入ISBN号文本框Text2NameText2输入书名文本框Text3NameText3输入分类文本框Text4NameText4输入出版社文本框Text5NameText5输入作者文本框Text6NameText6输入价格文本框Text7NameText7输入出版年文本框Text8NameText8输入订购数量文本框Text9NameText9输入提供商文本框cmdxjaddNamecmdxjadd添加命令按钮cmdexitNamecmdexit退出命令按钮Label1CaptionISBN号:提示标签Label2Caption书名:Label3Caption分类:Label4Caption出版社:Label5Caption作者:Label6Caption价格:Label7Caption出版年:Label8Caption订购数:Label9Caption提供商:用户输入完采购图书的基本信息后,单击“添加”按钮将触发cmdxjadd_Click事件,代码如下: Dim mrc As ADODB.Recordset 定义数据集对象 Dim txtsql As String 定义查询字符串变量 Dim msgtext As String 定义字符串变量,用来返回查询信息 判断是否输入了ISBN号 If Trim(Text1.Text) = Then MsgBox 请输入ISBN号, vbOKOnly, 警告 Text1.SetFocus Exit Sub End If 判断是否输入了书名 If Text2.Text = Then MsgBox 请输入书名, vbOKOnly, 警告 Text2.SetFocus Exit Sub End If 判断是否输入了出版社 If Text4.Text = Then MsgBox 请输入出版社, vbOKOnly, 警告 Text4.SetFocus Exit Sub End If 判断是否输入了价格 If Text6.Text = Then MsgBox 请输入订价, vbOKOnly, 警告 Text6.SetFocus Exit Sub End If 判断输入的价格是不是数值 If Not IsNumeric(Text6.Text) Then MsgBox 价格输入不为数字! Text6.SetFocus Exit SubEnd If 判断是否输入了订购数 If Text8.Text = Then MsgBox 请输入订购数量, vbOKOnly, 警告 Text8.SetFocus Exit Sub End If 判断输入的订购数是不是数值 If Not IsNumeric(Text8.Text) Then MsgBox 订购数输入不为数字! Text8.SetFocus Exit SubEnd If 添加数据到SQL Server 2000数据库中 txtsql = select * from bookseller_bookinfo Set mrc = ExecuteSQL(txtsql, msgtext) 添加一条记录进入数据库中mrc.AddNew mrc.Fields(isbn) = Trim(Text1.Text) mrc.Fields(bookname) = Trim(Text2.Text) mrc.Fields(class_name) = Trim(Text3.Text) mrc.Fields(publisher) = Trim(Text4.Text) mrc.Fields(author) = Trim(Text5.Text) mrc.Fields(book_price) = Trim(Text6.Text) mrc.Fields(publisher_date) = Val(Trim(Text7.Text) mrc.Fields(book_num) = Val(Trim(Text8.Text) mrc.Fields(provider) = Trim(Text9.Text) mrc.Update MsgBox 添加数据成功, vbOKOnly, 提示 mrc.CloseEnd Sub程序对是否输入了内容进行判断,同时进行了数值数据判断,使用了IsNumeric()函数,判断了价格和订购数量是不是数值。单击“退出”按钮触发cmdexit_Click事件,代码如下:Private Sub cmdexit_Click() Unload Me 卸载窗体End Sub2修改采购信息窗体的创建选择“采购数据处理采购数据修改”菜单,将出现如图14-20所示的窗体。这个窗体包括了采购信息的修改和删除,在上面用户管理和采购数据添加中对SQL Server 2000数据库的操作是通过ADO对象模型的引用来实现。下面在采购信息的修改中将采用ADO控件来实现。在修改采购信息窗体中所有控件的属性设置如表14-14所示。 图14-20 修改采购信息窗体表14-14 修改采购信息窗体中各个控件的属性设置控件名称属性属性值说明Frmxjmodify(form)namefrmxjmodify窗体caption修改采购信息ADODC1nameADODC1ADO控件visibleFalse不可见CommandType2-adCmdTable表ConnectionStringProvider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=pubs;Data Source=127.0.0.1数据库连接字符串RecordSourcebookseller_bookinfo采购数据表UserNamesaPasswordsaText1nameText1书名文本框DataSourceAdodc1数据源DataFieldbookname字段名Text2nameText2ISBN文本框DataSourceAdodc1DataFieldisbnText3nameText3作者文本框DataSourceAdodc1DataFieldauthorText4nameText4出版社文本框DataSourceAdodc1DataFieldpublisherText5nameText5出版年文本框DataSourceAdodc1DataFieldPublisher_dateText6nameText6价格文本框DataSourceAdodc1DataFieldpriceText7nameText7分类文本框DataSourceAdodc1DataFieldClass_nameText8nameText8选购数量文本框DataSourceAdodc1DataFieldBook_numText9nameText9提供商文本框DataSourceAdodc1DataFieldproviderCommand1NameCommand1第一条Command2NameCommand2上一条Command3NameCommand3下一条Command4NameCommand4最后一条Command5NameCommand5更新记录Command6NameCommand6取消更新Command7NameCommand7删除记录Command8NameCommand8退出各命令按钮触发相应的事件,程序代码如下:Private Sub Command1_Click()指针移到第一条记录 Adodc1.Recordset.MoveFirstEnd SubPrivate Sub Command2_Click()指针移到上一条记录,如果记录指针移到BOF,则记录指针指到第一条,并给出提示 Adodc1.Recordset.MovePrevious If Adodc1.Recordset.BOF Then Adodc1.Recordset.MoveFirst MsgBox 已到第一条记录! End IfEnd SubPrivate Sub Command3_Click()指针移到下一条,如果记录指针移到EOF,则记录指针指到最后一条,并给出提示Adodc1.Recordset.MoveNextIf Adodc1.Recordset.EOF Then Adodc1.Recordset.MoveLast MsgBox 已到最后一条记录End IfEnd SubPrivate Sub Command4_Click()记录指针指到最后一条Adodc1.Recordset.MoveLastEnd SubPrivate Sub Command5_Click()更新当前记录Dim bookmark As Variant 定义书签,记录当前记录的位置bookmark = Adodc1.Recordset.bookmark If Trim(Text1.Text) = Then 判断修改后的书名是否为空 MsgBox 书名不能为空!, vbOKOnly, 警告 Adodc1.Refresh 数据库中的数据刷新文本框 Adodc1.Recordset.bookmark = bookmark 回到要修改记录位置 Text1.SetFocus Exit Sub End If If Trim(Text2.Text) = Then 判断修改后的ISBN信息是否为空 MsgBox ISBN信息不能为空!, vbOKOnly, 警告 Adodc1.Refresh Adodc1.Recordset.bookmark = bookmark Text2.SetFocus Exit Sub End If 判断输入的价格是不是数值 If Not IsNumeric(Text6.Text) Then MsgBox 价格不为数字! Text6.SetFocus Exit Sub End If 判断输入的订购数是不是数值 If Not IsNumeric(Text8.Text) Then MsgBox 订购数量修改不为数字! Text8.SetFocus Exit Sub End If 更新当前记录 Adodc1.Recordset.Update MsgBox 当前记录已更新!, vbOKOnly, 提示End SubPrivate Sub Command7_Click()删除当前记录 Adodc1.Recordset.Delete Adodc1.Recordset.MoveFirst MsgBox 当前记录已删除!, vbOKOnly, 提示End SubPrivate Sub Command8_Click()退出Unload MeEnd SubPrivate Sub Command6_Click() 取消更新 Dim bookmark As Variantbookmark = Adodc1.Recordset.bookmark Adodc1.Refresh Adodc1.Recordset.bookmark = bookmarkEnd Sub3查询采购信息窗体的创建 选择“采购数据处理采购数据查询”菜单,进入如图14-21所示的窗体。可以按ISBN号、书名、作者、出版社、出版年、分类和提供商进行查询以及各字段的排序。 图14-21 采购数据查询窗体在采购信息查询窗体中用到了一个DataGrid控件,需在VB中选择“工程部件”菜单打开的对话框中选择“MicroSoft DataGrid Controls 6.0 (OLEDB)”组件加入。查询窗体中所包含的控件及其属性如表14-15。表14-15 查询采购信息窗体中各个控件及属性设置控件属性属性值说明Frmxjquery(Form)namefrmxjquery采购数据查询窗体Caption采购数据查询Adodc1nameAdodc1ADO数据连接控件ConnectionStringProvider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=pubs;Data Source=127.0.0.1CommandType1-adCmdTextSQL语句RecordSourceselect * from bookseller_infoUsernamesaPasswordsaDataGrid1NameDataGrid1数据网格控件DataSourceAdodc1Combo1NameCombo1检索字段下拉列表框Style2-Dropdown ListCombo2NameCombo2排序下拉列表框Style2-Dropdown ListText1Nametext检索词输入框Command1Caption查询查询按钮Command2Capton退出退出按钮程序代码如下:Private Sub Command1_Click() Dim searchfield As String 定义检索字段 Dim sortfield As String 定义排序字段 If Trim(Text1.Text) = Then MsgBox 请输入检索词 Exit Sub End If 取检索和排序字段 If Combo1.Text = 书名 Then searchfield = bookname If Combo1.Text = 作者 Then searchfield = author If Combo1.Text = ISBN Then searchfield = isbn If Combo1.Text = 出版社 Then searchfield = publisher If Combo1.Text = 出版年 Then searchfield = publisher_date If Combo1.Text = 分类 Then searchfield = class_name If Combo1.Text = 提供商 Then searchfield = provider If Combo2.Text = 书名 Then sortfield = bookname If Combo2.Text = 作者 Then sortfield = author If Combo2.Text = ISBN Then sortfield = isbn If Combo2.Text = 出版社 Then sortfield = publisher If Combo2.Text = 出版年 Then sortfield = publisher_date If Combo2.Text = 分类 Then sortfield = class_name If Combo1.Text = 提供商 Then sortfield = provider If Combo1.Text = 价格 Then sortfield = price 设置ADO控件的RecordSource参数 Adodc1.RecordSource = select * from bookseller_bookinfo where & searchfield & like % & Text1.Text & % order by & sortfield Adodc1.RefreshEnd SubPrivate Sub Command2_Click() Unload MeEnd SubPrivate Sub Form_Load() 初始化查询选项下拉列表框 Combo1.AddItem 书名 Combo1.AddItem 作者 Combo1.AddItem ISBN Combo1.AddItem 出版社 Combo1.AddItem 出版年 Combo1.AddItem 分类 Combo1.AddItem 提供商 Combo1.Text = 书名 初始化排序选项下拉列表框 Combo2.AddItem 书名 Combo2.AddItem 作者 Combo2.AddItem ISBN Combo2.AddItem 出版社 Combo2.AddItem 出版年 Combo2.AddItem 分类 Combo2.AddItem 提供商 Combo2.AddItem 价格 Combo2.Text = 书名End Sub数据导入管理模块的实现数据导入模块主要实现的功能是:MARC、EXCEL、DBF文件的书目数据导入到SQL Server 2000数据库的采购数据表和馆藏数据表中,下面主要介绍MARC和EXCEL格式的数据导入到SQL Server 2000的采购数据表。DBF格式文件的导入采购数据表以及MARC、EXCEL和DBF格式文件导入到馆藏数据表程序,留作课后习题。1MARC数据导入(1)MARC数据格式介绍MARC格式是目前图书馆广泛存在的一种数据格式,它对图书馆中庞大的馆藏资源的有效管理起了非常重要的作用,同时也是图书馆数据交换的一种通用格式。MARC数据格式遵循ISO2709-1987标准,它是一种专供计算机程序识别的机读目录。为便于计算机去识别和处理,MARC记录必须按一定格式进行存放,它统一由记录头标区、地址目次区、数据字段区和记录分隔符4部分组成,如图14-22所示。 图14-22 MARC数据结构记录头标区位于MARC记录的首部,其长度均为24个字符,其中第04位字符为该MARC记录的总长度,第1216位为MARC记录数据基地址,它的值等于头标区长度与目次区长度之和。地址目次区紧跟记录头标区之后。它由若干个款目组成,每个款目均为12个字符,依次可分为3个部分:字段标识符、字段长度、字段起始地址,它们分别占3、4、5个字符宽度。其中字段起始地址是相对于数据基地址而言的。数据区由一些可变长数据字段组成,每个数据字段均由两个指示符后接若干子字段组成。每个子字段又以一个子字段标识符开始,后接变长数据。每个字段都以一个字段分隔符结尾。每个记录都以一个记录分隔符结尾。因MARC记录中使用的记录分隔符、字段分隔符和子字段分隔符为不可见ASCII码控制字符,所以在程序中对这些字符进行识别时,直接使用其ASCII值来表示相应的控制符号,数据区的字段分隔符为的ASCII码30,子字段的分隔符为ASCII码31,记录分隔符为ASCII码29。读取MARC数据的方法如下:取得记录的总长度,即取得头标区的04位。取得数据基地址,即取得头标区的1216位。取得目次区的内容,即通过“数据基地址-头标区长度”取得目次区的长度,再通过Mid(MARC记录,25,目次区长度)取得目次区的内容。取得数据区的内容,即通过“总长度-数据基地址”取得数据区的长度,再通过Mid(MARC记录,数据基地址,数据区长度)取得数据区的内容。取得目次区字段的个数,这可通过“目次区长度/24”得到。取得数据区字段的个数及其数据。(2)MARC数据导入SQL Server 2000窗体的创建选择“书商数据导入MARC数据导入”菜单,将出现如图14-23所示的窗体。这个窗体实现了MARC数据导入采购数据表(bookseller_info),可以对ISBN、书名和价格字段进行查重,如果不重复才导入。对数据的操作通过ADO控件来实现。 图14-23 MARC数据导入采购库MARC数据导入采购库窗体中各控件的属性如表14-16所示。表

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论