精华内容
下载资源
问答
  • 数据库源程序

    2008-04-10 22:36:56
    提供一个简单的数据库源程序
  • 数据库链接通用模块vb源程序数据库链接通用模块vb源程序
  • 中文版SQL Server 2005数据库应用实用教程源程序 中文版SQL Server 2005数据库应用实用教程源程序 中文版SQL Server 2005数据库应用实用教程源程序
  • 数据库通讯录程序设计(代码) 数据库通讯录程序设计(代码) 数据库通讯录程序设计(代码) 数据库通讯录程序设计(代码)
  • 网上传的,VB连接远程数据库读取并保存数据源程序,值得学习。
  • VC#数据库开发经典案例源程序.part03 VC#数据库开发经典案例源程序.part03
  • 数据库 万能查询 程序源代码,附加数据库文件,内有程序说明 绝对好的代码
  • 程序兰州理工大学的数据库课程设计的的的一个程序。是和java Web 项目数据库使用的MySql,将其中的.sql文件到如MySql数据库中就可以直接使用。
  • java+sqlserver,图书借阅管理系统,源程序+数据库+报告
  • 数据库《学生信息管理系统》课程设计【报告+源程序】 平台:VS2010(C#)+SQL2008 附件包含源程序数据库MDF+LDF文件,欢迎下载,QQ联系:937925941
  • vb+sql server,原料仓库管理系统,源程序+数据库+报告
  • pb8新中大财务软件源程序 文档 数据库(1)
  • VC++6.0+sql server,学院通讯录管理系统,源程序+数据库+报告
  • 数据库课程设计银行管理系统源程序(含详细报告),应有尽有!数据库源文件,程序,报告,全部都有
  • java+sql server,工资管理信息系统,源程序+数据库+报告
  • VB提取文件目录到数据库程序,调用access数据库VB6.0代码编写
  • java+sql server, 图书借阅管理系统,源程序+数据库+代码
  • 能爬取指定网页,并提取网页的Title标签,存入SQL数据库
  • 基于C++和数据库SQL server开发的商品销售管理系统(含有源程序
  • VB源程序(各种数据库操作源码汇总)共有47个源码。非常适合初学者。
  • 保存到数据库程序(VB6.0代码编写) 保存到数据库,可将数据保存到access数据库中。
  • 在VC中使用ADO操作数据库C++代码程序小实例visual studio.net
  • 保存到数据库程序(VB6.0代码编写)可将数据保存到access数据库
  • 备份数据库程序,选择Access数据库,选择数据库备份的路径的例子(VB6.0代码编写)
  • C#源码系列1 精品OA下载 包括完整的源程序 文档及数据库
  • MNIST手写数字数据库保存为*.bmp图像之MATLAB源程序手写数字库很容易建立,但是总会很浪费时间。Google实验室的Corinna Cortes和纽约大学柯朗研究所的Yann LeCun建有一个手写数字数据库,训练库有60,000张手写数字...

    MNIST手写数字数据库保存为*.bmp图像之MATLAB源程序

    手写数字库很容易建立,但是总会很浪费时间。Google实验室的Corinna Cortes和纽约大学柯朗研究所的Yann LeCun建有一个手写数字数据库,训练库有60,000张手写数字图像,测试库有10,000张。源图像数据可访问原站 http://yann.lecun.com/exdb/mnist/进行下载,或到 http://download.csdn.net/detail/destiny0321/9167873进行下载,该数据库的一个文件中包含了所有的图像,使用起来很不方便。笔者在MATLAB平台上将该数据包保存为一张一张的带有标识的.bmp图片文件,以供今后研究使用。

    • 首先讲解一下train-images.idx3-ubyte这个数据库个存储格式:

    训练集图像格式(train-images.idx3-ubyte)
    offset——–type————–value———- description
    0000 —32 bit integer——0x00000803—–magic number
    0004—32 bit integer——–60000——number of images
    0008—32 bit integer———-28———–number of rows
    0012—32 bit integer———-28——–number of columns
    0016—unsigned byte ——–??——————pixel
    0017—unsigned byte ——–??——————pixel
    ……..
    xxxx—unsigned byte———??——————pixel

    可见,前32bit*4对数据库进行了整体描述,之后是大小为8bit的像素值,也就是我们所需要的数据。

    • 其次讲解一下train-labels.idx1-ubyte这个数据库个存储格式:

    训练集标签格式(train-labels.idx1-ubyte)
    offset——–type—————-value———- description
    0000 —32 bit integer——0x00000803—–magic number
    0004—32 bit integer——–60000——number of images
    0008—unsigned byte ———??——————number
    0009—unsigned byte ———??——————number
    ……..
    xxxx—unsigned byte———-??——————number

    可见,前32bit*2对数据库进行了整体描述,之后是大小为8bit的范围从0到9的数字标签,依次对应于train-images.idx3-ubyte中每幅图像所表示的数字。

    对这两个文件有了清楚的认识之后,就很容易对其进行操作,获取我们想得到的*.bmp图像数据了。这是程序运行后的截图:
    这里写图片描述

    1. 源程序如下:
    fid_image=fopen('train-images.idx3-ubyte','r');
    fid_label=fopen('train-labels.idx1-ubyte','r');
    % Read the first 16 Bytes
    magicnumber=fread(fid_image,4);
    size=fread(fid_image,4);
    row=fread(fid_image,4);
    col=fread(fid_image,4);
    % Read the first 8 Bytes
    extra=fread(fid_label,8);
    % Read labels related to images
    imageIndex=fread(fid_label);
    Num=length(imageIndex);
    % Count repeat times of 0 to 9
    cnt=zeros(1,10);
    for k=1:Num
        image=fread(fid_image,[max(row),max(col)]);     % Get image data
        val=imageIndex(k);      % Get value of image
        for i=0:9
            if val==i
                cnt(val+1)=cnt(val+1)+1;
            end
        end
        if cnt(val+1)<10
            str=[num2str(val),'_000',num2str(cnt(val+1)),'.bmp'];
        elseif cnt(val+1)<100
            str=[num2str(val),'_00',num2str(cnt(val+1)),'.bmp'];
        elseif cnt(val+1)<1000
            str=[num2str(val),'_0',num2str(cnt(val+1)),'.bmp'];
        else
            str=[num2str(val),'_',num2str(cnt(val+1)),'.bmp'];
        end
        imwrite(image',str);
    end
    fclose(fid_image);
    fclose(fid_label);
    展开全文
  • VC中ODBC数据库技术应用源程序详解之一(串口数据保存相关)◆龚建伟技术主页◆ 熊光明 龚建伟 串口通迅(编程源码)、串口调试助手、端口网络通信技术,VC/C编程,移动机器人控制相关技术,Matlab仿真及数据处理 ...

    VC中ODBC数据库技术应用源程序详解之一

    (串口数据保存相关)

    ◆龚建伟技术主页◆     熊光明 龚建伟

     

    串口通迅(编程源码)、串口调试助手、端口网络通信技术,VC/C编程,移动机器人控制相关技术,Matlab仿真及数据处理



         摘要:本文通过实例详细介绍了VC中ODBC数据库技术的编程应用,数据库源为ACCESS。

         本文源程序下载  database1.zip 47KB VC6.0 Win9X/2000

        我们在编程时要保存各种实时接收的数据,并为以后的数据再现回放,就应该建立数据文件,而这种数据文件可以用普通文件读写方式,但当数据类型较多且要求随时回放数据时,要求编程时设置较大的动态数组,这会占用较多的系统资源,甚至导致程序崩溃;而利用数据库则可以较好地解决这个问题,我们将数据放到数据源文件中,通过编程接口对其进行访问。ODBC(开放的数据库连接:Open Database Connectivity)为各种类型的数据库管理系统提供了统一的编程接口,我们在下面的几篇文章中,首先通过实例说明ODBC技术的应用方法,然后说明如何将串口数据实时保存在数据源文件中,这一方面介绍VC中ODBC技术的应用(前面的例子不涉及串口技术,以方便只想了解ODBC技术的读者,又为利用ODBC技术保存串口编程数据提供范例,虽然前面几个例程与串口通讯不相关,但如果对使用数据库不熟悉,也请从前面有耐心地看下去。

    1.首先在控制面板中,打开ODBC数据源,点击用户DSN选项,在出现的界面中点击添加,如下图所示:

    然后,点击完成按钮,出现下图,填入数据源名(可随意取名,本处设为biao)


    点击确定即可。
    2.在ACCESS中创建数据库,本例中为data(只包含 number,name,score三列),可从我提供的这个例子下COPY

    3.建立应用程序项目

    (1)打 开File 菜 单 的New 选 项, 选 取Projects,
    选 择MFC AppWizard (exe),填 入 工 程 名,本例为DATA1
    (2)把数据库文件 data拷入新建的工程目录。
    (3)应用程序的类型指定为SDI,在Step2 对话框中选择Header Files Only选项,在Step6是将视图基类指定为CScrollView。
    (4)用ClassWizard 创建记录集类。从Add Class菜单中选择New,并按下图填充对话框:(说明:一个CRecordset对象代表从数据源中查询的一个记录集。)


    (5).点击OK,进入Data Source,选择biao数据源,并选择Dynast选项,如下图所示:



    在选择了数据源之后,ClassWizard提示我们选择一个表。如下图所示:



    (6)在ClassWizard中,针对新产生的CDataSet类,单击Member Variables标签。此时ClassWizard 应按照数据库列的名称产生了如下的数据成员:



    (7)在CData1View类中添加数据成员


    (8) 在Cdata1Doc中添加如下成员:


    (9)编辑DATA1View.cpp中的OnDraw() 和OnInitialUpdate()函数:
    void CDATA1View::OnDraw(CDC* pDC)
    {
    CDATA1Doc* pDoc = GetDocument();
    ASSERT_VALID(pDoc);
    // TODO: add draw code for native data here
    TEXTMETRIC tm;
    pDC->GetTextMetrics(&tm);
    int nLineHeight=tm.tmHeight+tm.tmExternalLeading;
    CPoint pText(0,0);

    int y = 0;
    CString str;
    if (m_pSet->IsBOF()) { // detects empty recordset
    return;
    }
    m_pSet->MoveFirst(); // fails if recordset is empty
    while (!m_pSet->IsEOF()) {
    pDC->TextOut(pText.x, pText.y, m_pSet->m_number);
    pDC->TextOut(pText.x+1000, pText.y, m_pSet->m_name);
    pDC->TextOut(pText.x+4000, pText.y, m_pSet->m_score);
    m_pSet->MoveNext();
    pText.y -= nLineHeight;
    }

    }

    void CDATA1View::OnInitialUpdate()
    {
    CScrollView::OnInitialUpdate();

    CSize sizeTotal(8000, 10500);

    SetScrollSizes(MM_HIENGLISH, sizeTotal);

    m_pSet = &GetDocument()->m_dataSet;

    if (m_pSet->IsOpen()) {
    m_pSet->Close();
    }
    m_pSet->Open();
    }
    (10) data1View.cpp 中加入#include "dataSet.h"
    (11) 编译结果应如下所示:



    请继续看一篇如何在在数据库中动态修改数据库记录。

     

     

     
     
    展开全文
  • Java程序数据库连接,数据配置,数据库连接池 Java程序,用到的数据库一定要配置数据吗? 一般写小程序直接在程序里设置连接就可以了,而大的系统一般要配置数据 数据是要配置到中间件服务器中的...

    Java程序数据库连接,数据源配置,数据库连接池

    Java程序,用到的数据库一定要配置数据源吗?

    一般写小程序直接在程序里设置连接就可以了,而大的系统一般要配置数据源

    数据源是要配置到中间件服务器中的(比如:Tomcat,JBoss,WebLogic一类的),配置后可以提高数据库查询性能,避免重复的打开和关闭数据库。因此开发java的B/S项目时(就是J2EE的项目,通过浏览器访问的项目),都会配置数据源连接。如果你写的管理软件是B/S结构,那么只需要在搭建环境的服务器上配置数据源就可以了,用户访问时是通过浏览器访问,不需要做其他设置。如果是C/S(就是用户需要单独安装客户端程序,比如QQ),也不需要在用户那里设置数据源,只需要在你的服务器端程序上手工配置好数据源即可。java实现数据库操作,现在多数流行的都是JDBC,采用配置数据源的方式多数是用了框架的原因,比如Hibernate、EJB、Struts、Spring。但是所有的数据源配置原理都是基于JDBC的操作。

    1.直接编码连接数据库

    JDBC (Java Database Connectivity)

    JDBC以一种统一的方式来对各种各样的数据库进行存取,JDBC为开发人员隐藏了不同数据库的不同特性。程序员开发时,知道要开发访问数据库的应用,于是将一个对应数据库的JDBC驱动程序类的引用进行了编码,并通过使用适当的JDBC URL 连接到数据库。

    代码示例: 

    数据库连接代码1

     

     

    或者通过配置属性文件的方式:

    数据库连接代码2

     

    以上都是传统的做法,这种做法一般在小规模的开发过程中不会产生问题,只要程序员熟悉Java语言、了解JDBC技术和各种数据库,可以很快开发出相应的应用程序。

    这种方式带来的问题:

    1、数据库服务器名称、用户名和口令都可能需要改变,由此引发JDBC URL需要修改;
    2、数据库可能改用别的产品,如改用DB2或者Oracle,引发JDBC驱动程序包和类名需要修改;
    3、随着实际使用终端的增加,原配置的连接池参数可能需要调整;

    解决办法:
    程序员应该不需要关心“具体的数据库后台是什么?JDBC驱动程序是什么?JDBC URL格式是什么?访问数据库的用户名和口令是什么?”等等这些问题,程序员编写的程序应该没有对 JDBC 驱动程序的引用,没有服务器名称,没有用户名称或口令 —— 甚至没有数据库池或连接管理。而是把这些问题交给J2EE容器来配置和管理,程序员只需要对这些配置和管理进行引用即可。由此,就有了JNDI,配置数据源。

    2.配置数据源

    JNDI(Java Naming and Directory Interface)

    JNDI API被用于执行名字和目录服务。它提供了一致的模型来存取和操作企业级的资源如DNS和LDAP,本地文件系统,后者在应用服务器中的对象。在JNDI中,在目录结构中的每一个结点称为context。每一个JNDI名字都是相对于context的。应用可以通过这个初始化的context经由这个目录树来定位它所需要的资源或对象。

    在Tomcat中配置数据源获得连接

     在tomcat中通过JNDI服务获得DataSource引用,通过DataSource获得数据库连接,步骤如下:
     1.配置数据源JNDI服务
     2.在应用中通过JNDI使用javax.naming.Context的lookup方法来检索DataSource引用
     3. DataSource的getConnection方法获得连接

     

    配置JNDI服务的代码:

    数据库连接代码3

     

    配置文件内容:

    数据库连接代码4

     

    在应用中通过JNDI使用javax.naming.Context的lookup方法来检索DataSource引用,由DataSource获得数据库连接:

    数据库连接代码5

     

    直接使用JDBC或者通过JNDI引用数据源的编程代码量相差无几,但是现在的程序可以不用关心具体JDBC参数了。在系统部署后,如果数据库的相关参数变更,只需要修改配置文件中的JDBC参数,只要保证数据源的名称不变,那么程序源代码就无需修改。由此可见,JNDI避免了程序与数据库之间的紧耦合,使应用更加易于配置、易于部署。JNDI在满足了数据源配置的要求的基础上,还进一步扩充了作用:所有与系统外部的资源的引用,都可以通过JNDI定义和引用。所以,在J2EE规范中,J2EE 中的资源并不局限于 JDBC 数据源。引用的类型有很多,其中包括资源引用、环境实体和 EJB 引用。特别是 EJB 引用,它暴露了 JNDI 在 J2EE 中的另外一项关键角色:查找其他应用程序组件。EJB 的 JNDI 引用非常类似于 JDBC 资源的引用。在服务趋于转换的环境中,这是一种很有效的方法。可以对应用程序架构中所得到的所有组件进行这类配置管理,从 EJB 组件到 JMS 队列和主题,再到简单配置字符串或其他对象,这可以降低随时间的推移服务变更所产生的维护成本,同时还可以简化部署,减少集成工作。

    J2EE 规范要求所有 J2EE 容器都要提供 JNDI 规范的实现。JNDI 在 J2EE 中的角色就是“交换机” —— J2EE 组件在运行时,间接地查找其他组件、资源或服务的通用机制。在多数情况下,提供 JNDI 供应者的容器可以充当有限的数据存储,这样管理员就可以设置应用程序的执行属性,并让其他应用程序引用这些属性(Java 管理扩展(Java Management Extensions,JMX)也可以用作这个目的)。JNDI 在 J2EE 应用程序中的主要角色就是提供间接层,这样组件就可以发现所需要的资源,而不用了解这些间接性。在 J2EE 中,JNDI 是把 J2EE 应用程序合在一起的粘合剂,JNDI 提供的间接寻址允许跨企业交付可伸缩的、功能强大且很灵活的应用程序。

    3.数据库连接池

    连接池是创建和管理多个连接的一种技术,这些连接可被需要使用它们的任何线程使用。连接池技术基于下述事实:对于大多数应用程序,当它们正在处理通常需要数毫秒完成的事务时,仅需要能够访问JDBC连接的1个线程。未处理事务时,连接处于闲置状态。使用连接池,允许其他线程使用闲置连接来执行有用的任务。事实上,当某一线程需要用JDBC在MySQL或其他数据库上执行操作时,需要用到由连接池提供的连接。使用连接完成线程后,线程会将连接返回给连接池,以便该连接能够被其他需要使用连接的线程使用。从连接池“借出”连接时,该连接仅供请求它的线程使用。从编程观点看,其效果等同于每次需要JDBC连接时调用DriverManager.getConnection(),但是,采用连接池技术,可通过使用新的或已有的连接结束线程。连接池技术能显著增加Java应用程序的性能,同时还能降低资源使用率。

    连接池技术的主要优点包括:

    (1) 缩短了连接创建时间

    创建新的JDBC连接会导致联网操作和一定的JDBC驱动开销,如果这类连接是“循环”使用的,使用该方式,可避免这类不利因素。

    (2)简化的编程模型

    使用连接池技术时,每个单独线程能够像创建了自己的JDBC连接那样进行操作,从而允许使用直接的JDBC编程技术。

    (3)受控的资源使用

    如果不使用连接池技术,而是在每次需要时为线程创建新的连接,那么应用程序的资源使用将十分浪费,而且在负载较重的情况下会导致无法预期的结果。

    注意,与数据库的每个连接均会在客户端和服务器端造成一定的开销(CPU、关联转换等)。每个连接均会对应用程序和数据库服务器的可用资源带来一定的限制。无论连接是否执行任何有用的任务,仍将使用这些资源中的相当一部分。

    连接池能够使性能最大化,同时还能将资源利用控制在一定的水平之下,如果超过该水平,应用程序将崩溃而不仅仅是变慢。

    幸运的是,Sun公司通过JDBC-2.0“可选”接口,完成了JDBC中连接池概念的标准化实施,所有主要应用服务器均实施了能够与MySQL Connector/J一起良好工作的这类API。

    通常,你可以在应用服务器的配置文件中配置连接池,并通过Java命名和目录接口(JNDI)访问它。使用连接池时需要牢记的最重要事项是,无论在代码中出现了什么(异常、控制流等),连接以及由连接创建的任何部分(语句、结果集等)均应被关闭,以便能再次使用它们。如不然,它们将纠缠在一起,在最好的情况下,意味着它们所代表的数据库服务器资源(缓冲区、锁定、套接字等)可能会捆绑一段时间,在最坏的情况下,可能会导致永久捆绑。

    连接池的最佳大小是什么?

    取决于具体情况。尽管最佳大小取决与预期的负载和平均的数据库事务时间,最佳的连接池大小小于你的预期。例如,如果使用的是Sun公司的Java Petstore Blueprint应用程序,对于包含15~20个连接的连接池,使用MySQL和Tomcat,在可接受的相应时间下,可服务于中等程度的负载(600个并发用户)。要想确定用于应用程序的连接池大小,应使用诸如Apache Jmeter或The Grinder等工具创建负载测试脚本,并对应用程序进行负载测试。确定出发点的一种简单方法是,将连接池的最大连接数配置为“无限”,运行负载测试,并测量最大的并发连接数。随后,应进行反向操作,确定出使应用程序具有最佳性能的连接池的最小和最大值。

    连接池与数据源区别?

    数据库连接池是在应用程序启动时建立足够的数据库连接,并将这些连接组成一个连接池,由应用程序动态地对池中的连接进行申请、使用和释放。对于多于连接池中连接数的并发请求,应在请求队列中排队等待。并且应用程序可根据池中连接的使用率,动态增加或减少池中的连接数。当关闭连接操作时,连接并不真正的关闭,而是返回到连接池中作为空闲连接在后面继续使用,连接池技术解决了数据库连接频繁打开关闭所带来的性能问题。

    有了连接池,我们没必要直接找数据源打交道了,连接池在你的程序所在的机器内存,数据源不一定,并且数据源和连接池会保持一定数量的连接,这样我们访问数据库的时候就不需要找数据源要连接,直接在本地内存中取得连接,可以提高程序的性能。连结池的存在是为了效率,因为实例化一个连接很耗费资源,而连接又有可重用的特征,所以可以把一定数量的连接放在连接池里面以提高效率。

     

    Tomcat自带的数据库连接池管理

    C3p0数据库连接池

    数据库连接池配置代码:

    数据库连接代码6

     

    配置文件:

    数据库连接代码7

     

     

     

    【参考资料综合】

     

    http://hi.baidu.com/sunkangle/blog/item/55a9db7cb076a3330dd7dadb.html  

    JDBC与JNDI应用比较

     

    http://13243356.javaeye.com/blog/402961   

    数据库连接与数据源配置

     

    http://hi.baidu.com/yaoming159/blog/item/5c4efe33e2122df31a4cfff5.html

    JDBC与JNDI区别

     

    http://wenwen.soso.com/z/q155303937.htm?pid=wenwen.autologin 

    java数据库一定要配置数据源吗?

     

     

    http://hi.baidu.com/begin_think/blog/item/b959f9f45b67092ebd310973.htmlJNDI

    与JDBC比较以及连接池的技术

     

    http://topic.csdn.net/u/20090311/10/f6ee00c1-34ed-42ef-b5aa-77d2c7a8e775.html 

    连接池与数据源 分别起什么作用呢?

    展开全文
  • C#学生选课系统(包括源程序数据库文件,报告和使用说明)
  • 数据库的系统登录程序(VB6.0代码编写)带数据库的系统登录程序,access2003

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 578,383
精华内容 231,353
关键字:

如何查看数据库源程序