嵌入mdf文件的方式
- 格式:doc
- 大小:23.00 KB
- 文档页数:2
将数据文件集成到程序中 - 阿蒙编程之家.txt都是一个山的狐狸,你跟我讲什么聊斋,站在离你最近的地方,眺望你对别人的微笑,即使心是百般的疼痛只为把你的一举一动尽收眼底.刺眼的白色,让我明白什么是纯粹的伤害。
VC++ 5.0编程经验一、将应用程序调用的外部数据文件集成到程序可执行文件中我们知道,Windows应用程序中包括执行代码和程序资源两部分。
例如,应用程序的位图、图标、对话框、字串表等都被存储在应用程序资源中。
对于处于应用程序外部的多个小数据文件,一方面容易丢失从而将造成程序出错,另一方面也存在安全性和保密性不强等弊端。
因此,可考虑将其集成到程序可执行文件中,这样还可以加快数据的读取速度。
实现这种功能有两个关键步骤:首先,将这些文件作为程序资源放进资源文件中;然后,在程序执行数据文件加载时,从资源内存中读取这些文件。
1、将数据文件加到资源文件中(1)首先用文本编辑器(记事本、写字板等)打开资源文件,即带有rc扩展名的文件(注意:此处只能用文本编辑器打开,因为在Visual C++5.0的资源编辑器中不支持除加速键表、位图、对话框、光标、图标、菜单、工具条、串表、版本信息等标准资源外的非标准资源的插入。
为安全起见,在进行下述操作时要先备份资源文件),然后添加如下几行代码:///////////////////////////////////////////////////////////////////////////// //DATA//IDR_DATA0 DATA DISCARDABLE "res\\data0.dat"IDR_DATA1 DATA DISCARDABLE "res\\data1.dat"IDR_DATA2 DATA DISCARDABLE "res\\data2.dat"IDR_DATA3 DATA DISCARDABLE "res\\data3.dat"上述资源文件代码中:IDR_DATA0为数据文件的资源ID号,DATA为资源类名,DISCARDABLE表示该资源是可抛弃型的,而“res\\data0.dat”表示数据文件data0.dat处于当前工程文件所处文件夹下的res子文件夹中,供应用程序编译连接时加载数据用。
电子商务数据库技术与应用题库及答案1.什么是电子商务?电子商务给社会生活带来哪些影响?答:电子商务的定义有狭义和广义之分。
狭义电子商务是指买卖双方仅仅通过因特网(Internet)进行的在线交易和商业作业活动。
例如,阿里巴巴、淘宝网等。
广义电子商务是指交易当事人或参与人利用计算机技术和网络技术等现代信息技术所进行的各类商业交换和商业作业活动的全过程。
例如,e辈电子商务系统,就是应用信息技术,转换商业活动全流程的电子商务技术。
2.简述按参与交易的对象分类时,电子商务各模式的特点。
答:按照参与电子商务交易所涉及的对象分类,可以将电子商务分为以下4种模式。
各模式的特点如下:(1)B2C电子商务是企业通过Internet向个人网络消费者直接销售产品和提供服务的经营方式,即网上零售。
其重心主要在于向消费者提供服务。
(2)B2B的电子商务是指企业通过因特网、外联网、内联网或私有网络,以电子化方式进行交易,完成从订购到结算的全部交易行为。
B2B所占的资金额度最大,所需的软硬件较复杂,但也是发展得最快、最有前途的电子商务形式。
(3)C2C的电子商务是指消费者通过Internet与消费者之间进行相互的个人交易,这种电子商务形式目前在网上的表现形式是消费者间二手货的买卖。
(4)B2G的电子商务是指政府与企业之间的通过网络所进行的交易活动,覆盖了企业与政府组织间的各项事务。
如企业与政府之间进行的各种手续的报批、政府通过互联网发布采购清单等。
3.数据库技术在哪些方面体现出对电子商务的影响?答:数据库技术是目前电子商务数据处理最有效的方法和手段,在电子商务数据处理中得到了广泛的应用,是电子商务的重要组成部分,其发展和应用是保障电子商务系统成功运行和有效管理不可缺少的一部分。
它对电子商务的支持是全方位的,从底层的数据基础到上层的应用都涉及数据库技术。
数据库技术对电子商务的支持可以概括为:数据的收集、存储和组织,对EDI 的支持,Web数据库以及决策支持。
Flex 3.0中最大的变化在于新增AIR工程。
AIR应用程序是一种桌面应用程序。
因为要支持对本地资源的操作,所以Flex 3.0中新增许多对本地资源的操作,如本地文件、PDF文件等。
另外,AIR应用程序支持版本升级、集成网页、使用Ajax技术等。
本章将介绍Flex 3.0这些新特性的具体应用。
23.1 加载PDF文件在Flex 3.0中的AIR工程中新增HTMLControl类和HTMLPDFCapability类。
通过这两个类可实现加载PDF文件,丰富了AIR应用程序的效果和功能。
本小节将为读者介绍如何在AIR工程中加载PDF文件。
23.1.1 加载PDF文件前的准备加载PDF文件需要有两个条件:第一是必须为AIR工程,第二是系统已安装Adobe Reader 8.1以上版本。
前者是因为Flex 3.0中只有在AIR工程中可引用HTMLControl类和HTMLPDFCapability类。
究其深层原因是Adobe公司只允许桌面应用程序(AIR)访问本地资源。
其他Web工程出于安全性考虑,不可直接访问本地资源。
23.1.2 使用HTMLControl类加载PDF文件HTMLControl类是AIR中新增的类,用于加载PDF。
使用HTMLControl类加载PDF文件的语法如下所示。
HTMLControl变量.load(URLRequest变量);以下代码使用HTMLControl类加载“123.pdf”文件。
var t:URLRequest=new URLRequest("123.pdf");var hc:HTMLControl=new HTMLControl();hc.load(t);HTMLControl类中只有一个属性pdfCapability。
此属性存储了PDF文件与Adobe Reader版本间的关系。
在HTMLControl 类的load方法执行后,自动得到版本信息。
60个餐厅点餐收银程序源代码下载第1页餐厅点餐收银java实现餐厅点餐系统java实现餐厅点餐系统收录时间:2015-01-30 资源分类:Java 用java编写的餐厅点餐系统 c/s模式含数据库如今,随着互联网和电子信息的飞速发展,使用电子化的设备和软件进行管理可以电,大大降低成本,提高工作效率和质量。
标签:评论:0条Android实现无线点餐系统Android实现无线点餐系统收录时间:2015-01-25 资源分类:Android Android应用案例---无线点餐系统,附件包括源代码和说明文件。
本项目主要面向具有一定规模、需要提供餐厅点餐效率、体现出现代化的气氛、改进客人就餐环境,并借此提高经济效益的餐厅和酒店。
要求项目不会占用太大的预算,标签:评论:0条餐厅收银管理系统,包括商品库存管理,点菜管理,房号管理ctsy.zip - 餐厅收银管理系统,包括商品库存管理,点菜管理,房号管理-Restaurant cash register management systems, including goods inventory management, order management, management of the Housing No标签:Windows开发, Other windows programs评论:0条VB餐厅POS收银软件内容索引:VB源码,数据库应用,收银软件简单的餐厅POS收银软件,里面用到了换肤控件、通用登录函数,还有很多值得学习参考的代码,虽然这个收银系统功能上并没有100%完成,但这也很不错了,界面看上去很舒服,也算是同VB同行交流一下吧。
标签:vb, Access评论:0条Delphi餐厅触摸屏收银管理程序的源代码内容索引:Delphi源码,数据库应用,收银管理,餐厅 Delphi餐厅触摸屏收银管理程序的源代码,主程序分客户端和服务端,数据库采用SQL2000,MDF存文件已打包进压缩包。
sqlserver2008如何导⼊mdf,ldf⽂件sql server 2008怎样导⼊mdf,ldf⽂件⽹上找了⾮常多解决sql server导⼊其它电脑拷过来的mdf⽂件,多数是不全。
遇到的解决⽅法不⼀样等问题,下边是找到的解决这个问题的最全⾯⽅法!将mdf。
ldf⽂件导⼊到sql server 2008其中,以下提供两种办法:第⼀种:(1)选择右击数据库(2)然后点击“附加”。
出现以下的界⾯。
然后选择加⼊。
加⼊上你要加⼊的mdf⽂件就可以。
另外⼀种⽅法是:新建查询,然后输⼊下列语句,EXEC sp_attach_db @dbname = 'yourdatabasename',@filename1 = 'x:\路径\MSSQL\Data\pubs.mdf',@filename2 = 'x:\路径\MSSQL\Data.Ldf另外⼀种⽅法可能提⽰SQL语⾔附近有问题(真不知道什么问题啊??)上边两种都可能可能会出现这样的错误:(假设上述两种过程成功了,那祝贺了!)Sqlserver2008附加数据库时出错提⽰操作错误5(拒绝訪问)错误5120的解决的⽅法Sql Server2008附加数据库⽂件时弹出错误信息:例如以下图:可能⼤家都遇到过这样的问题,解决⽅式例如以下:⽅案⼀:切换登录⽅式出现这样的情况是因为⽤“混合验证⽅式”(SQL Server⾝份验证)登录数据库造成的,仅仅要将登录⽅式改为 “⾝份验证⽅式”登录就可以解决该问题。
附加成功后再换⽤“混合验证模式”登陆就没问题了。
⽅案⼆:改动服务选择全部程序-SQL Server 2005-配置⼯具-选择"SQL Server Configuration Manager"或者“SQL Server 配置管理器”。
打开“SQL Server Configuration Manager”配置界⾯。
数据库附加操作手册
要通过AO2011采集数据,先得将目标数据库附加至SSMS当中,具体操作步骤如下:
首先,将拷贝的数据库文件以及日志文件存放在同一个文件夹中,将该文件夹存放在计算机某一个确定位置。
如:图1,图2:
图1
该文件夹中包含了数据库文件,.mdf 以及日志文件.中小企业办.ldf
图2
启动SSMS后,光标置于“数据库”上,单击右键,在弹出的快捷菜单中,选择“附加”命令,见下图:
在弹出的附加数据库窗口中,单击“添加”按钮,见下图:
这里以“宝鸡市工业经济服务中心”为例。
见下图:
进入如图窗口界面,里面显示了附加对象数据库原始文件名,以及数据库日志,确认无误后,点击“确定”按钮。
见下图:
这样目标数据库被附加至SSMS。
见下图
点击目标数据库中的“表”文件夹,查看表中是否有“dbo.kmb (会计科目表)”、“kmyeb(科目余额表)”、“PZB(凭证表)”,见下图:
,这样我们就完成了数据库的附加,尔后就可以在AO2011中采集数据了。
C#中连接.mdf⽂件C#连接本地.mdf⽂件:项⽬中右键点击,新增——数据——基于服务的数据库,项⽬下直接⽣成.mdf数据库⽂件,后台(数据库的写⼊⽤参数传递):using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data.SqlClient;namespace {class Program{static void Main(string[] args){//SQLServer 附加mdf⽂件string dataDir = AppDomain.CurrentDomain.BaseDirectory;if (dataDir.EndsWith(@"\bin\Debug\") || dataDir.EndsWith(@"\bin\Release\")){dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;AppDomain.CurrentDomain.SetData("DataDirectory", dataDir);}using (SqlConnection conn = new SqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True")) {conn.Open();//写⼊⼀条数据string strUserName = "作业本";string strPWD = "Ab123456";using (SqlCommand sqlCmd = conn.CreateCommand()){mandText = "insert into Mytable1(Name,Password) values (@UserName,@PWD) ";//连接字符串进⾏参数化SqlParameter[] sqlPara = new SqlParameter[] {new SqlParameter("UserName",strUserName),new SqlParameter("PWD",strPWD)};sqlCmd.Parameters.AddRange(sqlPara); //把Paramerter 数组参数添加到sqlCmd中sqlCmd.ExecuteNonQuery();Console.WriteLine("Insert OK");}//从表中读取数据string strRead = "SELECT ID, Name, Password FROM MyTable1 ";using (SqlCommand sqlCmd = new SqlCommand(strRead, conn)){//sqlDataReader 逐⾏读取数据using (SqlDataReader sdr = sqlCmd.ExecuteReader()){while (sdr.Read()){int id = sdr.GetInt32(sdr.GetOrdinal("ID")); //sdr.GetOrdinal 获取列的序号string Name = sdr.GetString(sdr.GetOrdinal("Name"));bool PWD = sdr.IsDBNull(sdr.GetOrdinal("Password"));Console.WriteLine("ID:{0},Name:{1},PWD:{2}", id, Name, PWD);Console.WriteLine(sdr.GetString(1));}}}conn.Close();//此处可以省略,Dispose()⽅法会⾃动检查}}}}。
技术方案目录目录----------------------------------------------------- 2第1章. 综合布线系统----------------------------------- 3 1.1.系统概述 (3)1.2.系统设计范围 (3)1.3.系统架构 (4)1.3.1.工作区子系统 (4)1.3.2.水平布线子系统 (5)1.3.3.垂直主干线子系统 (5)1.3.4.管理间子系统 (6)1.3.5.设备间子系统 (6)1.4.主要设备技术需求 (6)第1章.综合布线系统1.1.系统概述本系统我们将采用万兆光纤网络技术,水平采用千兆六类网络布线,不仅满足语音、数据、图像、多媒体等信息大容量、高速传输,而且所有数据与语音彼此之间可以互换,系统中任何一个信息点都能连接不同类型的计算机设备和其他信息设备,对任何一个分支单元的改动都不会影响系统的其他单元,本系统中我们按照一个业态统一设计。
为了方便管理,我们在首层设计1个消防控制室,地下室设计1个通讯机房;消防控制室内设服务器和网络交换等设备;在各楼层设置弱电配线间,内设综合布线配线架及网络设备。
所有外网主干由各运营商负责至通讯机房机柜内,从运营商机柜内通过光纤跳纤至自用网络机柜内连接,用户可自由选择运营商,这样不仅方便统一管理,用户还可自由选择,更人性化管理。
机柜内数据点水平线缆连接采用标准的19英寸模块化配线架,语音点水平线缆连接采用六类110型配线架,弱电间采用标准的12芯光纤配线架,网络机柜内采用12芯光纤配线架,数据点、语音点接口均用RJ45接口模块端接,工作区子系统和管理区子系统各类跳线采用颜色管理和互换。
1.2.系统设计范围>本系统分三套独立的布线系统,分别为:外网综合布线、智能化专网布线,内网(无线AP网络)。
>外网综合布线:外网办公区域每户采用4芯光纤入户的方式,商铺区域每户采用2 芯光纤入户的方式,主干采用万兆光纤,办公和商业户内接入互联网采用光纤到户,多家运营商通信光缆接入通讯机房(地下一层),根据用户需求,在通讯机房跳接,配线方式为:电信间一一楼层分纤箱一一户内弱电箱。
mdf4writer.dll用法-回复主题:mdf4writer.dll用法mdf4writer.dll是一种用于数据记录和存储的动态链接库(DLL),常用于开发软件和应用程序以实现高效的数据记录功能。
本文将一步一步回答关于mdf4writer.dll的用法,以帮助读者了解如何使用这个库。
第一步:了解mdf4writer.dll的背景和功能在进一步讨论mdf4writer.dll的用法之前,让我们首先了解一下这个库的背景和功能。
mdf4writer.dll是Vector公司开发的一种数据记录库,它可以将数据以MDF4格式保存到硬盘上。
MDF4是一种用于存储和处理实时数据的开放格式,广泛应用于诸如汽车测试、工程测量、航空航天等领域。
mdf4writer.dll提供了一组功能强大的API(应用程序编程接口),让开发人员能够轻松地在自己的软件或应用程序中使用数据记录功能。
通过mdf4writer.dll,开发人员可以控制数据记录的开始和结束、选择要记录的数据信号、设置记录参数等。
第二步:安装mdf4writer.dll库要开始使用mdf4writer.dll,首先需要将该库安装到开发环境中。
一般来说,Vector官方网站提供了mdf4writer.dll的下载链接,开发人员可以从官方网站下载并安装该库。
安装过程通常是简单的,只需按照安装向导的指示一步一步进行即可。
安装完成后,mdf4writer.dll将自动注册到系统的DLL目录中,这样就可以在开发环境中调用相关的函数接口。
第三步:创建一个MDF4文件使用mdf4writer.dll记录数据的第一步是创建一个MDF4文件,用于保存记录的数据。
在开发环境中,开发人员可以通过调用mdf4writer.dll提供的函数来创建一个MDF4文件。
需要指定文件的路径和名称,还可以设置一些文件的属性,如文件版本、采样率等。
创建文件的代码示例:#include <mdf4writer.h>int main(){MDFHANDLE hMDF;hMDF = mdfCreate("C:\\data.mf4", MDF_VERSION_4_10);if (hMDF){文件创建成功TODO: 进行后续操作}else{文件创建失败TODO: 错误处理}return 0;}以上示例代码使用了mdfCreate函数创建了一个名为"data.mf4"的文件,并指定了MDF4版本为4.10。
LTP工具说明1LTP测试套件 (4)1.1简介 (4)1.2源目录结构 (4)2LTP安装 (5)2.1下载 (5)2.2编译 (5)2.3安装说明 (7)3LTP测试套件结构说明 (7)3.1概述 (7)3.2目录介绍 (8)3.3LTP执行原理 (8)4LTP测试套件测试内容 (9)4.1LTP测试套件测试内容 (9)4.1.1commands (9)4.1.2kernel (10)4.1.3kdump (10)4.1.4network (10)4.1.5realtime (10)4.1.6open_posix_testsuite (11)4.1.7misc (11)4.2.1commands模块内容描述及实现方法 (11)4.2.2kernel (14)4.2.3network (22)4.2.4open_posix_testsuite (25)4.2.5realtime (26)5LTP测试套件配置详细 (27)5.1networktests.sh脚本配置 (27)5.2networkstress.sh配置 (32)5.3open_posix_testsuite测试套件 (36)5.4realtime配置 (37)5.5mm脚本的配置 (38)5.6io脚本配置 (38)5.7filecaps的配置 (39)5.8tpm_tools的配置 (40)5.9tcore的配置 (40)5.10io_floppy的配置 (40)5.11io_cd的配置 (40)5.12cpuhotplug的配置 (41)5.13adp.sh的配置 (42)5.14autofs1.sh和autofs4.sh的配置 (43)5.15exportfs.sh的配置 (43)5.17ltpdmmapper.sh的配置 (44)5.18ltpfslvm.sh的配置及要求 (45)5.19ltpfsnolvn.sh的配置及要求 (46)5.20ltp-scsi_debug.sh的配置及要求 (46)5.21sysfs.sh的配置及要求 (46)5.22rpctirpc的配置及要求 (47)5.23test_selinux.sh的配置及要求 (49)5.24smack的配置和要求 (50)5.25perfcounters的配置及要求 (51)5.26can的配置及要求 (51)5.27test_robind.sh的配置 (52)6LTP测试套件使用说明 (52)6.1概述 (53)6.2初始测试 (54)6.2.1runltp使用说明 (54)6.2.2runalltests.sh脚本说明 (57)1 LTP测试套件1.1 简介LTP(LinuxTest Project)是SGI、IBM、OSDL和Bull合作的项目,目的是为开源社区提供一个测试套件,用来验证Linux系统可靠性、健壮性和稳定性。
在项目中用程序中嵌入mdf文件的方式来进行SQLServer数据库开发非常方便,用来发布开源项目等很方便,点击就可以运行,免部署,特别是在教学中用起来更加方便,老师不用先将数据库文件detach再发给学生,学生也不用将数据库文件attach。
采用项目中嵌入mdf 文件的方式,老师把讲课的代码发给学生,学生打开就可以运行。
我在传智播客.net培训班教学中就是用的这种方式进行讲解。
在程序中只要将mdf文件放到项目的App_Data文件夹即可,在连接字符串中使用Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\CallCenter.mdf;Integrated Security=True;User Instance=True
做连接字符串即可。
但是在WinForm程序中,如果在项目的App_Data文件夹中新建一个mdf文件,然后用Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\CallCenter.mdf;Integrated Security=True;User Instance=True
进行连接会提示找不到CallCenter.mdf。
原来WinForm程序并不会去App_Data中找mdf文件。
原来在中DataDirectory的值是当前项目的App_Data路径,而WinForm中的DataDirectory值则是当前项目的路径,因此Winform中mdf文件不用放到App_Data中,放到项目根目录下就可以。
但是新问题随之又来了,在WinForm中用这种方式开发的时候有时候改了项目中mdf文件中的表中的数据或者表结构,运行的时候却发现运行时通过程序读取的数据或者表结构没有变,而有时调试时Insert插入的数据在这次调试的时候竟然没有了。
经过研究发现,WinForm 程序运行的时候连接的是bin/Debug下的mdf文件,而不是项目中的mdf文件,这是和 程序行为不同的地方。
每次程序发生Build行为的时候,项目中的mdf就会覆盖bing/Debug 下的mdf文件,也就是有两个mdf文件的存在,项目中的mdf相当于“源文件”。
虽然可以通过修改文件的“BuildToOuput”属性来部分解决问题,但是仍然不是很完美。
有一个比较很直接的想法,就是让程序去连接项目中的mdf文件,而不是连接bin/Debug下那个。
经过查询资料找到了修改方法,在Program.cs文件Main函数最开始加入如下代码:
string dataDir = AppDomain.CurrentDomain.BaseDirectory;
if (dataDir.EndsWith(@"\bin\Debug\")
|| dataDir.EndsWith(@"\bin\Release\"))
{
dataDir = System.IO.Directory.GetParent(dataDir).Parent.Parent.FullName;
AppDomain.CurrentDomain.SetData("DataDirectory", dataDir);
}
原理简单分析:连接字符串中的DataDirectory的值就是通过AppDomain.CurrentDomain.SetData赋值过去的,如果当前程序的目录以"\bin\Debug\"或者"\bin\Release\"则认为它是运行在VisualStudio环境中,就取项目的目录然后赋值给DataDirectory这个key。
既然是CurrentDomain.SetData,估计对于非默认AppDomain中的数据库连接代码可能会不起作用(只是猜测,没验证),这就要需要创建子AppDomain的时候再去赋值了。
上面的代码还是有一点潜在的bug的,比如正式的运行的时候exe被很杯具的放到了某个bin\Debug目录下,就会有问题,不过想想正式生产环境运行的时候肯定不会用这种AttachDbFilename方式,这种方式只存在于开发环境,因此也就睁一只眼闭一只眼了,呵呵。