| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 853 人关注过本帖
标题:VC语言的 ODBC 数据插入问题
只看楼主 加入收藏
aoyi
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-6-4
收藏
 问题点数:0 回复次数:1 
VC语言的 ODBC 数据插入问题

我想向数据源 007aoj所绑定的数据库中的表Sa中插入一行数据,而这组插入的数据我来输入,于是我想用绑定单值参数的方法来控制将我输入的数据输入到表Sa中,但是无法实现,请大家帮帮我,谢谢.
int Insert(void){
SQLCHAR NO[11];
SQLCHAR NAME[10];
SQLCHAR CODE[10];/*Sa表有三项 Sno CHAR(11) Sname CHAR(10) Scode CHAR(10)*/
SQLRETURN retcode;
SQLINTEGER SnoInd,SnameInd,ScodeInd;
char Tablename[10];
retcode=SQLAllocHandle(SQL_HANDLE_ENV,NULL,&henv);
if(retcode!=SQL_SUCCESS){printf("Error in allocHandle Env!\n");return 1;}
retcode=SQLSetEnvAttr(henv,SQL_ATTR_ODBC_VERSION,(SQLPOINTER)SQL_OV_ODBC3,SQL_IS_INTEGER);
if(retcode!=SQL_SUCCESS){printf("Error in SETHandle henv!\n");return 1;}
retcode=SQLAllocHandle(SQL_HANDLE_DBC,henv,&hdbc);
if(retcode!=SQL_SUCCESS){printf("Error in allocHandle Dbc!\n");return 1;}
retcode=SQLSetConnectAttr(hdbc,SQL_ATTR_ASYNC_ENABLE,SQL_ASYNC_ENABLE_OFF,SQL_IS_INTEGER);
if(retcode!=SQL_SUCCESS){printf("Error in SETHandle hdbc!\n");return 1;}
retcode=SQLConnect(
hdbc,
(SQLCHAR*)"aoyi",//数据源
SQL_NTS,
(SQLCHAR*)"sa",
SQL_NTS,
(SQLCHAR*)"111111",
SQL_NTS
);
if(!SQL_SUCCEEDED(retcode)){printf("Error in Connect to DSN!\n");return 1;}

retcode=SQLAllocHandle(SQL_HANDLE_STMT,hdbc,&hstmt);
if(retcode!=SQL_SUCCESS){printf("Error in allocHandle Hstmt!\n");return 1;}
retcode=SQLPrepare(hstmt,(unsigned char*)"INSERT INTO Sa(Sno,Sname,Scode) VALUES(?,?,?)",SQL_NTS);///////
//绑定单值参数
if(SQL_SUCCEEDED(retcode)){
SQLBindParameter(hstmt,1,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_CHAR,11,0,NO,11,&SnoInd);
SQLBindParameter(hstmt,2,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_CHAR,10,0,NAME,10,&SnameInd);
SQLBindParameter(hstmt,3,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_CHAR,10,0,CODE,10,&ScodeInd);
}

printf(" 请输入插入数据的表名:");
scanf("%s",Tablename);
if(strcmp(Tablename,"Sa")==0){
printf(" 证件号:");
scanf("%s",NO);
printf(" 姓名:");
scanf("%s",NAME);
printf(" 口令:");
scanf("%s",CODE);
retcode=SQLExecute(hstmt);
if(!SQL_SUCCEEDED(retcode)){printf(" 输入数据不成功!\n");return 1;}//(**)
}
return 0;
};
程序执行到(**)处时返回retcode 99 我不懂错在哪 或者您有什么别的方法可以实现由我控制的输入,请帮帮我, 谢谢!

搜索更多相关主题的帖子: ODBC 语言 数据 
2007-06-04 11:18
aoyi
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-6-4
收藏
得分:0 

谢谢大家的关心,虽然问题未解决,但是我还要感谢大家.

2007-06-17 00:24
快速回复:VC语言的 ODBC 数据插入问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016949 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved