!!!!!!!SOS!!!!!我想用VC+SQL SERVER来编写一个管理系统,不知道如何来实现??

时间:2022-09-13 17:14:42
这是我的一个毕业设计呀,马上就要交题了!这个问题我再这里问过好几次了,都没人为我答复!我做的是一个“质检管理系统”是通过串口读数据,把这些数据显示出来,并且存储。我现在搞不懂就是如何让这些数据存储到数据库中,并且这个数据库如何来建,用什么方法来实现VC与SQL SERVER的连接!(ODBC。。ADO、等那个比较好!)
请高手告诉小弟!详细点!我会再加500分!

14 个解决方案

#1


这个系统不是三言两语就可以说好的。
VC用ADO可能烦一点。
用ODBC比较好,用MFC做ODBC的数据库编程比较简单。
数据库你可以在SQL SERVER中建好,直接拿来用。

如果用ODBC,需要用记录集指针m_pSet,熟悉CRecordSet类的成员函数,写数据库,操作数据库都靠它了。

如果用ADO,需要自己建一个类,用_RecordsetPtr指针。

#2


我覺得用ado應該比較好。

#3


ado很好,可以用ado执行sql语句建立数据库。
往里面加数据更简单啦,看看msdn.
#include "stdafx.h"
#import "H:\\Program Files\\Common Files\\System\\ado\\msado15.dll" no_namespace rename("EOF", "EndOfFile") 
int main(int argc, char* argv[])
{
 
   CoInitialize(NULL);
   try 
   {
      _ConnectionPtr pConn("ADODB.Connection");
      _RecordsetPtr  pRst("ADODB.Recordset");
 
      pConn->Open("Provider=sqloledb;Data Source=Server1;"
         "Initial Catalog=test1;User Id=sa;Password=sa;", 
         "", "", adConnectUnspecified);
// Note 1.
      pRst->Open(
         "userinfo",
         _variant_t((IDispatch *) pConn, true),
         adOpenStatic,
         adLockReadOnly,
         adCmdTable);
      pRst->MoveLast();
// Note 2.
      printf("Last name is '%s %s'\n", 
            (char*) ((_bstr_t) pRst->GetFields()->GetItem("username")->GetValue()),
            (char*) ((_bstr_t) pRst->Fields->Item["otherinfo"]->Value));
 
      pRst->Close();
      pConn->Close();
   }
   catch (_com_error &e)
   {
      printf("Description = '%s'\n", (char*) e.Description());
   }   
::CoUninitialize();
 
return 0;
}

#4


谢谢楼上那位兄弟的答复!这些我都知道的!我不明白的是,我的数据是要从串口读进来的!
那么这个数据如何显示出来(显示在屏幕)并且把他作为存储起来,这个我搞不懂!还请兄弟告诉!可以留下你的QQ或EMAIL吗?

#5


你要向串口发一个指令,比如ATZ什么的(硬件编程说明书上会提供的),然后串口就会收到一大堆东西,然后根据硬件编程说明书上提供的格式分析即可。

#6


你可以 给我 联系地址和 方法我帮你 !

#7


你的数据都读出来了,把一个变量内容显示在屏幕上很简单的,你是准备显示在EDIT控件中(直接给EDIT对应的成员变量赋值),还是直接到窗口客户区(pDC->TextOut())。
ADO操作数据,pRst->AddNew(),pRst->Update()等等,看看相关书籍吧。

如果做异步的话,需要开一个线程。
主线程做显示,存储等操作,辅助线程做232接收数据的操作。

#8


你可以直接调用一个穿口的ACTIVEX空间,里面有穿口的控制方法

#9


我的信箱是:eleck@china.com
QQ:6008411

#10


蓝色星星兄弟,我再给你详细说一下。这是个“化肥质量检测管理系统”,检测的是化肥的重量。
化肥的质量通过电子秤,数据由RS232端口读进来的。多线程的问题还请你提示一下!

#11


还有呀!我看SQL SERVER建数据库好麻烦(我刚学),我想用ACCESS怎么样呢?

#12


关注!
很长功力的问题,希望大侠们多多关照。

#13


只需要读出来显示,存储就可以吗?看上去比较简单,如果做的简单点,就用同步吧,不需要多线程。
还是自己多看书比较好,这只能起到提示的作用。

#14


我想做那种,通过查看就可以看到当前的数据,而不查看就不需要屏显,这不用多线程吧?

#1


这个系统不是三言两语就可以说好的。
VC用ADO可能烦一点。
用ODBC比较好,用MFC做ODBC的数据库编程比较简单。
数据库你可以在SQL SERVER中建好,直接拿来用。

如果用ODBC,需要用记录集指针m_pSet,熟悉CRecordSet类的成员函数,写数据库,操作数据库都靠它了。

如果用ADO,需要自己建一个类,用_RecordsetPtr指针。

#2


我覺得用ado應該比較好。

#3


ado很好,可以用ado执行sql语句建立数据库。
往里面加数据更简单啦,看看msdn.
#include "stdafx.h"
#import "H:\\Program Files\\Common Files\\System\\ado\\msado15.dll" no_namespace rename("EOF", "EndOfFile") 
int main(int argc, char* argv[])
{
 
   CoInitialize(NULL);
   try 
   {
      _ConnectionPtr pConn("ADODB.Connection");
      _RecordsetPtr  pRst("ADODB.Recordset");
 
      pConn->Open("Provider=sqloledb;Data Source=Server1;"
         "Initial Catalog=test1;User Id=sa;Password=sa;", 
         "", "", adConnectUnspecified);
// Note 1.
      pRst->Open(
         "userinfo",
         _variant_t((IDispatch *) pConn, true),
         adOpenStatic,
         adLockReadOnly,
         adCmdTable);
      pRst->MoveLast();
// Note 2.
      printf("Last name is '%s %s'\n", 
            (char*) ((_bstr_t) pRst->GetFields()->GetItem("username")->GetValue()),
            (char*) ((_bstr_t) pRst->Fields->Item["otherinfo"]->Value));
 
      pRst->Close();
      pConn->Close();
   }
   catch (_com_error &e)
   {
      printf("Description = '%s'\n", (char*) e.Description());
   }   
::CoUninitialize();
 
return 0;
}

#4


谢谢楼上那位兄弟的答复!这些我都知道的!我不明白的是,我的数据是要从串口读进来的!
那么这个数据如何显示出来(显示在屏幕)并且把他作为存储起来,这个我搞不懂!还请兄弟告诉!可以留下你的QQ或EMAIL吗?

#5


你要向串口发一个指令,比如ATZ什么的(硬件编程说明书上会提供的),然后串口就会收到一大堆东西,然后根据硬件编程说明书上提供的格式分析即可。

#6


你可以 给我 联系地址和 方法我帮你 !

#7


你的数据都读出来了,把一个变量内容显示在屏幕上很简单的,你是准备显示在EDIT控件中(直接给EDIT对应的成员变量赋值),还是直接到窗口客户区(pDC->TextOut())。
ADO操作数据,pRst->AddNew(),pRst->Update()等等,看看相关书籍吧。

如果做异步的话,需要开一个线程。
主线程做显示,存储等操作,辅助线程做232接收数据的操作。

#8


你可以直接调用一个穿口的ACTIVEX空间,里面有穿口的控制方法

#9


我的信箱是:eleck@china.com
QQ:6008411

#10


蓝色星星兄弟,我再给你详细说一下。这是个“化肥质量检测管理系统”,检测的是化肥的重量。
化肥的质量通过电子秤,数据由RS232端口读进来的。多线程的问题还请你提示一下!

#11


还有呀!我看SQL SERVER建数据库好麻烦(我刚学),我想用ACCESS怎么样呢?

#12


关注!
很长功力的问题,希望大侠们多多关照。

#13


只需要读出来显示,存储就可以吗?看上去比较简单,如果做的简单点,就用同步吧,不需要多线程。
还是自己多看书比较好,这只能起到提示的作用。

#14


我想做那种,通过查看就可以看到当前的数据,而不查看就不需要屏显,这不用多线程吧?