当前位置:首页 » 行情解析 » vc股票分析软件数据源
扩展阅读
股票交易金额显示国债 2025-07-05 01:27:08
北京英利普股票代码 2025-07-05 01:11:12
hugoboss股票代码 2025-07-05 00:49:01

vc股票分析软件数据源

发布时间: 2021-07-05 17:32:59

1. 用java读取一个软件已经获取到的数据

java都是通过流读取数据,这个问题首先你得告诉大家VC读取的数据存放在哪了,然后大家才能帮组你,希望把问题补全

VC获取数据不了解,给你提供下java从流里读取数据,看你能不能用上
如果VC可以将数据通过socket写到输出流里,那么下面的代码就能用上了
Socket client=new Socket(ip,port);//和VC读取数据的ip连接上
BufferedReader br=new BufferedReader(new InputStreamReader(client.getInputStream()) );
再通过br.readline逐条读取就可以了

2. 请问VC++中如何连接odbc数据源,具体步骤!谢谢!

1.先创建数据库,在控制面板的管理工具.数据源
2. ADO技术
ActiveX Data Object, ActiveX数据对象。
ADO建立在OLE DB之上,采用ADO技术访问数据库的话,实际的调用过程是:ADO客户程序通过ADO再访问OLE DB提供的程序,这样访问速度就要慢一些。
如果某个关系型数据库没有OLE DB的提供程序,那么可以利用ODBC的OLE DB提供程序去访问ODBC,然后利用ODBC再去访问支持ODBC的数据库。
2.1 条件
l 头文件和动态库的加载
#include <comdef.h>
#include <atlbase.h>
#pragma warning(disable:4146)
#import "C:\Program Files\Common Files\System\ado\msado15.dll" named_guids rename("EOF","adoEOF"), rename("BOF","adoBOF")
#pragma warning(default:4146)
using namespace ADODB;
l COM组件的加载
if ( CoInitialize( NULL ) != 0 )
{
AfxMessageBox( _T( "初始化Com库失败!" ) );
return FALSE;
}
l 变量的声明
_ConnectionPtr m_pConnection;
2.2 连接数据库
m_pConnection.CreateInstance( __uuidof(Connection) );
m_pConnection->ConnectionString = _T( "DSN=PostgreSQL30W;UID=PostGre;PWD=PostGre" );
HRESULT hr = m_pConnection->Open( _T(""), _T(""), _T(""), adConnectUnspecified );
if ( SUCCEEDED( hr ) )
{
AfxMessageBox( _T( "连接数据库成功!" ) );
}
2.3 访问数据库
_CommandPtr pCommand(__uuidof(Command));
_RecordsetPtr pRecordset( __uuidof(Recordset) );
CString strSQL = _T( "select * from \"pg_getProctInfo\"()" );

try
{
pCommand->ActiveConnection=m_pConnection;
pCommand->CommandText=_bstr_t(strSQL);
pRecordset=pCommand->Execute(NULL,NULL,adCmdText);
}
catch (_com_error & e)
{
AfxMessageBox(e.Description());
return ;
}

_variant_t var;
int nRecordNum = pRecordset->GetRecordCount();
while( !pRecordset->GetadoEOF() )
{
TAG_PRODUCTINFO tagProctInfo;

// ID
var = pRecordset->GetCollect( _T( "ID" ) );
tagProctInfo.nProctID= var.intVal;
// Name
var = pRecordset->GetCollect( _T( "Name" ) );
tagProctInfo.strProctName = (char*)_bstr_t(var);

m_vecProctInfo.push_back( tagProctInfo );

pRecordset->MoveNext();
}

pRecordset->Close();
pRecordset.Release();

3. vc++为何不能连接数据源

数据库编程的思路都是一致的:打开数据库连接-》执行SQL语句-》获得查询结果-》关闭数据库连接,不同的数据库访问技术有不同的要求,比如用C API诘问MySql数据库的时候还得释放查询结果集。
ODBC访问数据库得配置数据源

现在用VC、MFC访问数据库常用的技术是ADO,很实用!

导入ADO库
#import "c:\Program Files\Common Files\System\ADO\msado15.dll" no_namespace rename("EOF", "adoEOF")
2、用导入的动态库的指针操作数据库.
打开数据库连接
_ConnectionPtr m_pConn; // 数据库连接指针
// 创建Conneciton对象
m_pConn.CreateInstance(_T("ADODB.Connection"));
用ConnectionPtr 的open方法m_pConn->Open(_bstr_t(m_sConn),
_T(""), _T(""), lOptions));
m_sConn为你连接数据库的信息,你应该按照你的要求打开数据库

然后你用打开的那个连接进行操作数据库。比如
_RecordsetPtr pRec = m_pConn->Execute(_bstr_t(pszSql), NULL, CmdText);
pszSql 就你要操作数据库的SQL语句。在这个SQL语句里你可以创建表、更新表等。

用ADO访问的时候要求初始他COM库和释放COM对象
// 初始化COM环境(库)
::CoInitialize(NULL);
//释放COM对象
::CoUninitialize();

ODBC访问数据库
配置ODBC数据源:打开控制面板下的“数据源”,弹出“ODBC数据源管理器”,选择DSN选项卡-》添加->你选择你的SQL Server选项,单击完成。如图然后你再按照向导提示添加。

代码中用ODBC访问数据库你得加上afxdb.h头文件,
用CDataBase 类连接数据库、CRecordSet类查询记录。
现在在VC访问数据库常用的是ADO访问,你可以找一下我前面的回答有ADO访问数据库的步骤。

CDataBase m_cODBCDb;
用CDataBase类的OpenEx()函数打开数据库连接。连接字符串你自己构造一下。
定义一个与上面数据库相关的查询对象
CRecordSet m_cODBCRec(&m_cODBCDb);
用这个查询对象的open方法就可以执行SQL语句与数据库交互了;

4. vc的ODBC数据源,连接的问题

1:
听你这么说,你已经将程序打包了啊。
要是把你的程序拿到没有VC的电脑上,会提示你缺少很多的dll文件。看样子你已经打包了,或者是另外一台电脑上也有 VC。
2:
你出现的问题,楼上已经说了,就是这个原因,数据库程序需要有数据源这个桥梁来连接通信(Access可以不用)。
要想不出现这个问题,也简单啊,在另外一台电脑上,你再创建一个相应的数据源不就可以了吗。用手动就可以,用程序实现也可以。
手动添加数据源太麻烦,程序拿到哪台电脑上就得手动添加一个数据源。
你可以选择在程序中实现,自动添加数据源。这样,只要在另外一台电脑上运行,就在他的电脑上自动创建了一个数据源。
3:实现(自己总结)
/*
头文件:#include <odbcinst.h> //SQLConfigDataSource
函数:CrreateDSN
功能:动态创建数据源
输入参数:CString str 名称
CString strDatabase 数据库的路径
CString strDescription 说明
CString strServer 服务器名称
CString strUID 用户名
int iCount 标识数据库类型, 1表示Access数据库; 2表示SQL Server; 3表示Oracle数据库
返回值: int型
1: 表示创建Access数据源成功
-1: 表示创建Access数据源失败
2: 表示创建SQL Server数据源成功
-2: 表示创建SQL Server数据源失败
3: 表示创建Oracle数据源成功
-3: 表示创建Oracle数据源失败
-4: 表示不支持创建其他类型的数据源
*/
AFX_EXT_CLASS int CrreateDSN(CString str, CString strDatabase, CString strDescription, CString strServer, CString strUID, int iCount)
{
char* Attributes;
int mlen, i;
Attributes=new char[256];
switch(iCount)
{
case 1:
sprintf(Attributes,"DSN=%s! DESCRIPTION=%s! DBQ=%s! FIL=MicrosoftAccess! DEFAULTDIR=D:\\Database!!",
str, strDescription, strDatabase);
mlen = strlen(Attributes);
for (i=0; i<mlen; i++)
{
if (Attributes[i] == '!')
Attributes[i] = '\0';
}
if (FALSE == SQLConfigDataSource(NULL,ODBC_ADD_DSN,"Microsoft Access Driver (*.mdb)\0",(LPCSTR)Attributes))
return 1;
else
return -1;
break;
case 2:
sprintf(Attributes,"DSN=%s!Description=%s!server=%s!Database=%s!",
str, strDescription, strServer, strDatabase);
mlen = strlen(Attributes);
for (i=0; i<mlen; i++)
{
if (Attributes[i] == '!')
Attributes[i] = '\0';
}
if (FALSE == SQLConfigDataSource(NULL,ODBC_ADD_DSN,"SQL Server\0",(LPCSTR)Attributes))
return 2;
else
return -2;
break;
case 3:
sprintf(Attributes,"DSN=%s!Description=%s!ServerName=%s!UserID=%s!",
str, strDescription, strServer, strUID);
mlen = strlen(Attributes);
for (i=0; i<mlen; i++)
{
if (Attributes[i] == '!')
Attributes[i] = '\0';
}
if (FALSE == SQLConfigDataSource(NULL,ODBC_ADD_DSN,"Oracle in OraHome92\0",(LPCSTR)Attributes))
return 3;
else
return -3;
break;
default:
return -4;
break;
}
}

5. VC程序自动建立ODBC数据源以方便程序拷贝

用ACCESS2003生成数据源的方法
SQLConfigDataSource(NULL,ODBC_ADD_DSN,_T("Microsoft
Access
Driver
(*.mdb)"),_T("DBQ=“数据库源文件路径”\0
DSN=“数据源名称”\0
DriveId=25"));
如果想把程序改变位置了以后仍能正常生成数据源,这里我提供一个我个人使用的方法:把DBQ=之后的内容改为“\
数据库文件名”,如“DBQ=\
a.mdb”。前提是数据库文件和程序文件始终在同一个文件夹内。

6. vc添加数据源...

用建立类向导添加一个类,基类是CRecordSet,如class CSecRecord : public CRecordset
这样就已经联上数据源了,接下来就可以进行查询操作了
---------------------------------------------
CSecRecord secrecord;

CString sSql1="";
sSql1 = "SELECT * FROM roteline" ;
secrecord.Open(CSecRecord::forwardOnly, sSql1, CSecRecord::readOnly);

if(secrecord.IsEOF())
{
return;
}

while (!secrecord.IsEOF())
{
MessageBox(secrecord.m_roteno);
secrecord.MoveNext();
}
--------------------------------------------
不一定要,上面的就是代码
--------------------------------------------
给你一本参考书,关于VC数据库编程的

7. 怎么配置vc++ odbc数据源

  1. 打开ODBC数据源管理器 : 控制面板->管理工具->数据源(ODBC)

  2. 添加数据源:

    1. [用户DSN]标签下,选择一个数据库系统,如"Ms Access Database",点[添加]按钮

    2. 选择驱动程序"Microsoft Access Driver(*.mdb)",点[完成]按钮

    3. 输入数据源名称,例如"mydb",[选择]或者[创建]一个数据库(.mdb文件),点[确定]

8. vc如何添加数据源

用建立类向导添加一个类,基类是CRecordSet,如class CSecRecord : public CRecordset
这样就已经联上数据源了,接下来就可以进行查询操作了
---------------------------------------------
CSecRecord secrecord;

CString sSql1="";
sSql1 = "SELECT * FROM roteline" ;
secrecord.Open(CSecRecord::forwardOnly, sSql1, CSecRecord::readOnly);

if(secrecord.IsEOF())
{
return;
}

while (!secrecord.IsEOF())
{
MessageBox(secrecord.m_roteno);
secrecord.MoveNext();
}
--------------------------------------------
不一定要,上面的就是代码
--------------------------------------------
给你一本参考书,关于VC数据库编程的
参考资料:http://www.codeguru.cn/VC%26MFC/VCProgramGuide/69.html

9. vc++6.0如何添加数据源文件

数据源不是一个文件,而是指数据库,并且从你描述的情况看来,应该是指ODBC数据源。ODBC是微软定义的数据库接口,后台必须有实际的数据库系统和对应的ODBC驱动。比如ACCESS,或者mysql,或者sql server等都可以。具体怎么设置可以参考http://database.ctocio.com.cn/tips/283/7380283.shtml。

再者,就算添加了数据源,你的程序也未必就能正确地运行起来,因为不同软件对数据库的格式有不同要求。就像如果你用画图板去打开一个txt文件,肯定不会有正确结果的。