二个人!一个程序员+一个文员!
解决方案 »
- 用mfc做图像识别算法,想随时看到图像处理后的结果,如何实现?
- 基于RTP\RTSP协议的数据传输时,发送文件,文件名要如何发送...
- 菜鸟问VC6中调用.dll及调用api
- 关于系统钩子的问题,救救我吧,哥哥姐姐们!!!!!!!!!!!!!!!!!
- 请大家帮帮忙
- 紧急求助:关于ActiveX控件使用的问题(在线等待)
- ADO数据库应用程序的运行环境?
- 如何在位图控件全屏显示后,去掉全屏中的原位图控件?
- 怎么一直提示GetData()不是CDibObject的成员
- 这个问题很偏! 高手进来一看?????!!!!!!!
- vs2008真搞笑,自己生成的代码竟然无法通过编译....
- SDK socket编程发邮件附件问题
如果排除以上因素,还要看“大型”大到什么程度,一般的大型,而不是像用友ERP等,可以完成,否则不可以完成。
我用的是Xproer.OleDb这个类库,以.Net风格封装的,它能够为数据库系统的开发带来前所未有的顺畅体验。它真正的将数据库相关的开发变成了一件极其享受的事情。
下面是使用Xproer.OleDb对数据库进行操作的示例:#include "stdafx.h"
#include "XproerDataDef.h"
#include "OleDb/OleDbCommand.h"
#include "OleDb/OleDbConnection.h"
#include "OleDb/OleDbDataReader.h"
#include "OleDb/DataTable.h"
#include "OleDb/DataRow.h"
#include "OleDb/DataValue.h"using namespace Xproer::OleDb;//获取DataTable的示例
void ADODataTable(OleDbCommand& cmd)
{
int count = 0;
cmd.ExecuteScalar(L"select count(*) from xdb_news",count);
auto_ptr<DataTable> table;
table.reset(cmd.ExecuteDataTable(L"select top 10 IsTop from xdb_news")); size_t rowCount = table->GetRowsCount();
for (int i = 0 ; i < rowCount ; ++i)
{
DataRow* row = table->GetRow(i);
DataValue* val = row->GetCel(0);
printf("时间:%d \r\n", val->ToBoolean() );
}
}//使用OleDbDataReader快速读取数据的示例
void ADORead(OleDbCommand& cmd)
{
OleDbDataReader* r = cmd.ExecuteReader(L"select ProductPrice from xdb_news");
USES_CONVERSION;
wstring title;
while(r->Read())
{
//r->GetString(0,title);
//printf("标题:%s \r\n",W2A(title.c_str()));
printf("ID:%f \r\n", r->GetFloat(0) );
}
r->Close();
}//通过变量向数据库安全添加数据的示例
void ADOAdd(OleDbCommand& cmd)
{
cmd.SetCommandText(L"insert into xdb_about(VDouble) values(@VDouble)");
cmd.AddDoubleParam(L"@VDouble",125022.3180); cmd.ExecuteNonQuery();
}//高性能向数据库插入数据的示例
void ADOParam(OleDbCommand& cmd)
{
cmd.SetCommandText(L"delete from xdb_news where ID=@ID;");
cmd.AddInt32Param(L"@ID",886);
cmd.SetPrepared(true); _variant_t index = (short)0;
_ParameterPtr param = cmd.GetCommand()->Parameters->GetItem(index);
param->Value = 887;
cmd.ExecuteNonQuery();
param->Value = 888;
cmd.ExecuteNonQuery();
param->Value = 889;
cmd.ExecuteNonQuery();
param->Value = 890;
cmd.ExecuteNonQuery();
param->Value = 891;
cmd.ExecuteNonQuery();
}//向数据库添加实数的示例
void NumericScaleX(OleDbCommand& cmd)
{
OleDbDataReader* r = cmd.ExecuteReader(L"select ProductPrice from xdb_news");
_RecordsetPtr& rs = r->GetRecordsetPtr();
rs->MoveFirst(); _variant_t vi = (short)0;
FieldPtr fd = rs->Fields->GetItem(vi);
unsigned char numeri = fd->GetNumericScale();
unsigned char precision = fd->GetPrecision(); printf("GetNumericScale:%d\r\n", fd->GetNumericScale() );
printf("GetPrecision:%d\r\n", fd->GetPrecision() );
printf("Value:%f\r\n", (float)fd->Value );
r->Close();
}int _tmain(int argc, _TCHAR* argv[])
{
::CoInitialize(NULL);
OleDbConnection con;
con.SetAccessConStr(L"F:\\vc9\\adoDemo\\Debug\\db.mdb");
con.Open(); OleDbCommand cmd(&con); ADORead(cmd);
con.Close(); ::CoUninitialize();
//printf("总数:%d",count);
system("pause");
return 0;
}
C#多比C++方便很多,如果C++基础很好,半个月上手也不是什么难事。
你的界面框架是不是积累有像用友,管家婆那样的界面框架,我是用MFC弄了一个比较酷将界面,
到编写的时候只要关注业务层就可,,别人都是VC++搞界面难我觉得比delphi快多了,关键平时积累如何,,,到用的时候就像工厂组装那样,,不可能再一行行写代码的“码农”。。
一个人 7个月 erp 还大型,楼主 你开玩笑了吧
先不谈技术难点,单单erp的业务就远不是你想的那么简单
祝君好运
Xproer.OleDb这个类库哪里下载啊?求求了告诉下