MFC+mongodb+nodejs 数据库的读取与写入操作

首先通过nodejs和mongodb建立后端服务器

一、在windows平台下启动mongodb服务器

1、进入mongodb的安装目录,并进去bin目录启动mongod

2、在d盘建立mongodb\data文件夹作为数据存储目录

mongod.exe --dbpath d:\mongodb\data

二、建立js文件,并通过nodejs启动

1、当向服务器发送01指令时,服务器将从mongodb 读取数据,并返回

var HOST = "localhost";
var PORT = 6969;
var dgram = require(‘dgram‘);
var server_udp = dgram.createSocket(‘udp4‘);
var mongo=require("mongodb");
var DB_PORT=27017;
var server_database=new mongo.Server(HOST,DB_PORT,{auto_reconnect:true});
var db=new mongo.Db("test",server_database,{safe:true});

db.open(function (err,db) {//连接数据库
    if(err)
    {
        console.log("error");
        throw err;
    }
    else{
        db.collection("student", function (err,collection) {
            collection.insert({ name:"jinjian",score:"100"}, function (err,docs) {
                console.log(docs);
                db.close(false);
            });
        });
    }
});

server_udp.on(‘listening‘,function(){
  var address = server_udp.address();
  console.log("server listening     " + address.address + "   :   "+ address.port);
  console.log("\n");
});

server_udp.on(‘message‘,function(message,remote){

  console.log(""+message);
  switch( ""+message)
  {
    case ("01"):
    {
       console.log("receive 01");
       db.open(function (err,db) {
            db.collection("student", function (err,collection) {
                if(err) throw err;
                else{
                    collection.find({}).toArray(function(err,docs){
                        if(err) throw  err;
                        else{
                            var str = JSON.stringify(docs);
                            server_udp.send(str,0,str.length,6967,remote.address);
                            console.log(str);
                            db.close(false);
                        }
                    });
                }
            });
        });
        break;
    }

    case ("02"):
    {
        console.log("receive 02");
        break;
    }

    case ("03"):
    {
        console.log("receive 03");
        break;
    }

  }
  console.log(remote.address +":" + message );
  console.log("\n");

});
server_udp.bind(PORT,HOST);

三、编写MFC界面

1、MFC接受到数据后解析代码如下(程序使用了jsoncpp-json数据解析库)

	Json::Reader reader;
	Json::Value json_object;
	int len = strlen((char *)lParam);
	char* temp = new char [len];
	memcpy(temp,(char *)lParam,len);

	if (!reader.parse(temp, json_object))
		return 0;
	int size = json_object.size();	

	const Json::Value arrayObj = json_object;
	for (int i=0; i<arrayObj.size(); i++){
			string id = arrayObj[arrayObj.size()-1-i]["number"].asString();
			string name= arrayObj[arrayObj.size()-1-i]["name"].asString();
			string score = arrayObj[arrayObj.size()-1-i]["score"].asString();

			int n = m_list.InsertItem(0,id.c_str());
			m_list.SetItemText(n,1,name.c_str());
			m_list.SetItemText(n,2,score.c_str());

			//fprintf(pfOutput, "%s\n",id.c_str());
			//fprintf(pfOutput, "%s\n",firstname.c_str());
			//fprintf(pfOutput, "%s\n",username.c_str());
	}

四、测试读取数据库,MFC向数据库发送“01”指令,并将返回的数据显示在列表中

1、向mongodb插入数据。进入mongodb程序的bin目录

D:\Mongodb\bin>mongo

>use test

db.student.insert({"01":"x1","02","x2",.....});

2 MFC读取效果如下

时间: 2024-07-31 19:57:58

MFC+mongodb+nodejs 数据库的读取与写入操作的相关文章

数据库并行读取和写入(Python实现)

max_process = 16 #最大进程数 def read_SQL_write(r_host,r_port,r_user,r_passwd,r_db,r_charset,w_host,w_port,w_user,w_passwd,w_db,w_charset,cmd,index=None): #得到tem字典保存着信息 try: conn = pymysql.Connect(host=r_host, port=r_port, user=r_user, passwd =r_passwd, d

java向oracle数据库Clob读取,写入数据

写入数据 1. 向oracle clob字段创建一个空的 empty_clob()对象. insert  into PTR_AssetXml(cChr_AssetPlanId,cChr_AssetData,Create_Date,Submitter,Last_Modified_By,Modified_Date,Status,Short_Description,Request_ID) "     + "values(?,empty_clob(),?,?,?,?,?,?,(select n

java 实现txt文件读取,写入操作实例代码。

一.需求:在txt文件中需要把建表语句的varchar(XXX)里面的XXX乘以4,然后在按照原来的格式进行输出. 需求如下: 转换后如下图: 实现代码如下: package commingming; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; public class

表数据文件DBF的读取和写入操作

import sys import csv import struct import datetime import decimal import itertools from cStringIO import StringIO from operator import itemgetter def dbfreader(f): """Returns an iterator over records in a Xbase DBF file. The first row retu

C#读取和写入XML文件

关于xml是属于一个比较重要的东西,在平时开发的过程中,这块内容最主要的是要掌握XML内容的读取和写入操作. 一.什么是XML? XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似HTML XML 的设计宗旨是传输数据,而非显示数据 XML 标签没有被预定义,您需要自行定义标签 XML 被设计为具有自我描述性 XML 是W3C 的推荐标准 二.XML语法: 1.一个XML包含以下几部分内容: 文档声明,元素,属性,注释,CDATA(特

Java IO_003.Reader与Writer--字符流以及编码对数据的操作(读取与写入)

Java IO之Reader与Writer对象常用操作(包含了编码问题的处理) 涉及到文件(非文件夹)内容的操作,如果是纯文本的情况下,除了要用到File(见之前文章),另外就必须用到字符输入流或字符输出流. 字符输入流:该流处理时,数据由外部流向程序(内存),一般指代“读取字符”,更清晰点地说:从外部读取字符数据到内存中. 字符输出流:该流处理时,数据由程序(内存)流向外部,一般指代“写入字符”,更清晰点地说:将字符数据从内存写入到外部. 在Java中,可使用:Reader 与 Writer 

Php连接及读取和写入mysql数据库的常用代码

在这里我总结了常用的PHP连接MySQL数据库以及读取写入数据库的方法,希望能够帮到你,当然也是作为我自己的一个回顾总结. 1.为了更好地设置数据连接,一般会将数据连接所涉及的值定义成变量. ?   $mysql_server_name='localhost'; //改成自己的mysql数据库服务器 $mysql_username='root'; //改成自己的mysql数据库用户名 $mysql_password='123456'; //改成自己的mysql数据库密码 $mysql_datab

windows下mongodb基础玩法系列二CURD操作(创建、更新、读取和删除)

windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) 简单说几句 在mongodb中3元素:db(数据库).collection(集合).document(文档) 其中collection类似于数据库中的表,document类似于行,这样一来我们就将内容对比起来记忆学习了. 数据格式 MongoDB documents是BSON格式(一种类json的一种二进制形式的存

用“MEAN”技术栈开发web应用(三)用mongodb搭建数据库

上一篇介绍了如何用express搭建起服务端MVC的开发架构,本篇我们来详细介绍一下这个Model层,也就是数据库访问层.包含如何使用mongodb搭建数据库,以及如何使用mongoose来访问数据. mongodb的安装和启动 首先我们得安装mongodb,先去官网( http://www.mongodb.org/downloads)下载安装包,我的开发环境是Windows,所以下载Windows下的iso文件,根据提示一路安装完毕即可,没什么需要特别选择的. 安装完后,为了能在cmd中全局都