【VC开源代码栏目提醒】:网学会员为需要VC开源代码的朋友们搜集整理了ODBCOneParameterizedStoredProcedures.cpp相关资料,希望对各位网友有所帮助!
// 这是使用应用程序向导生成的 VC++
// 应用程序项目的主项目文件。
#include "stdafx.h"
#using <mscorlib.dll> //支持控制台的库
#using <system.dll>
#using <system.data.dll>//支持ODBC数据提供程序的库
using namespace System;
using namespace System::Data;
using namespace System::Data::Odbc;
//主程序
int _tmain(void)
{
//创建OdbcConnection对象,注意连接字符串的设置,并没有DSN名。
//如果在具有防火墙的计算机上测试该程序,可能无法访问数据库,这主要是没有用户名和密码的原因
OdbcConnection *myCon = new OdbcConnection("Driver={SQL Server};server=localhost;trusted_connection=yes;database=northwind");
try{
myCon->Open();
//创建对存储过程CustOrderHist调用的OdbcCommand命令
OdbcCommand *myCmd = new OdbcCommand("{call CustOrderHist(?)}",myCon);
//下面的代码并不能工作:
//OdbcCommand *myCmd = new OdbcCommand("CustOrderHist",myCon);
//myCmd->CommandType=CommandType::StoredProcedure;
//设置存储过程的参数名和参数值,参数名与实际存储过程中的名字并没有关系
//它是按照调用存储过程中参数的顺序自动绑定的
myCmd->Parameters->Add("CustId",OdbcType::Char,5);
myCmd->Parameters->Item[0]->Value=S"ALFKI";
//执行存储过程调用
OdbcDataReader *myReader = myCmd->ExecuteReader();
//获取数据库数据
while (myReader->Read())
{
for(Int32 i=0;i<myReader->FieldCount;i++)
{
Console::WriteLine("{0}:{1}",(myReader->GetName(i))->ToString(),(myReader->GetValue(i))->ToString());
}
Console::WriteLine();
}
myReader->Close();
}
catch(OdbcException *myEx)
{
for (int i=0;i<myEx->Errors->Count;i++)
{
Console::WriteLine("Source:{0};Message={1}",myEx->Errors->Item[i]->Source,myEx->Errors->Item[i]->Message);
}
}
myCon->Close();
return 0;
}
上一篇:
modifypwd.frm
下一篇:
计算机毕业论文答辩2014年