首页
社区
课程
招聘
[求助]关于C和汇编通过ODBC连接SQL Server 2005的问题
发表于: 2010-9-9 19:30 4537

[求助]关于C和汇编通过ODBC连接SQL Server 2005的问题

2010-9-9 19:30
4537
最近在学数据库,想做个小程序玩玩,可是老出问题,求各位高手帮忙看看代码那里写错了,我被那些API搞的是晕头转向的

另外希望各位高手提供几个C和汇编使用ODBC连接数据库的例程(罗云彬的那个Win32汇编语言程序设计带的光盘里的那个代码就不要了,我已经有了,给俺个简单点的就行了)

[课程]FART 脱壳王!加量不加价!FART作者讲授!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 172
活跃值: (573)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
就没人帮俺一把
2010-9-10 19:14
0
雪    币: 796
活跃值: (370)
能力值: ( LV9,RANK:380 )
在线值:
发帖
回帖
粉丝
3
strcpy((char *)ConnStr,"DRIVER={SQL Server};SERVER=");
        strcat((char *)ConnStr,target);
        strcat((char *)ConnStr,";UID=");
        strcat((char *)ConnStr,dict_user[x]);
        strcat((char *)ConnStr,";PWD=");
        strcat((char *)ConnStr,pwd);
        strcat((char *)ConnStr,";DATABASE=master;Port=");
        strcat((char *)ConnStr,port);
        //printf("\r\n%s\r\n",ConnStr);

        //创建数据库应用的环境句柄
        if (SQLAllocHandle(SQL_HANDLE_ENV,SQL_NULL_HANDLE,&henv) !=SQL_SUCCESS)
        {
                printf("\nAllocate environment handle failed.\n");
                goto exit;
        }
        //设置ODBC版本环境
        if (SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION,(SQLPOINTER)
                SQL_OV_ODBC3, SQL_IS_INTEGER) != SQL_SUCCESS)
        {
                printf("\nSet the ODBC version environment attribute failed.\n");
                SQLFreeHandle(SQL_HANDLE_ENV, henv);
                goto exit;
        }
        //创建连接句柄
        if ((retcode= SQLAllocHandle(SQL_HANDLE_DBC,henv,(SQLHDBC FAR *)&hdbc)) != SQL_SUCCESS)
        {
                printf("\nAllocate connection handle failed.\n");
                SQLFreeHandle(SQL_HANDLE_ENV, henv);
                goto exit;
        }
        //连接数据源
        retcode= SQLDriverConnect(hdbc,NULL,(SQLCHAR *)ConnStr,SQL_NTS,\
                (SQLCHAR *)szBuffer,sizeof(szBuffer),&swStrLen,\
                SQL_DRIVER_COMPLETE_REQUIRED);
        if(retcode!=SQL_SUCCESS && retcode != SQL_SUCCESS_WITH_INFO)
        {
                //连接失败,函数终止
                //printf("\nCouldn''t connect to %s MSSQL server.\n",target);
                SQLFreeHandle(SQL_HANDLE_DBC, hdbc);
                SQLFreeHandle(SQL_HANDLE_ENV, henv);
                goto exit;
        }
        printf("connect successfully!\r\n");
        //连接远程MSSQL Server数据库成功

        Cracked=TRUE;
        strcpy(passwd,pwd);

        memset(lpSaveStr,0,sizeof(lpSaveStr));
        wsprintf(lpSaveStr,"\n\nSuccess!%s SQL Server User [%s] passwd is [%s].\r\n",target,dict_user[x],passwd);
        printf("%s\r\n",savefile);
        SaveToFile(savefile,lpSaveStr);

        //断开连接
        SQLDisconnect(hdbc);                    //释放连接句柄
        SQLFreeHandle(SQL_HANDLE_DBC, hdbc);    //释放环境句柄
        SQLFreeHandle(SQL_HANDLE_ENV, henv);
2010-9-13 20:04
0
雪    币: 172
活跃值: (573)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
终于搞明白了,使人感谢楼上,虽然感谢的有点晚
2010-9-29 10:58
0
游客
登录 | 注册 方可回帖
返回
//