免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3550 | 回复: 15
打印 上一主题 下一主题

MS sql server+c/c++ [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-02-16 13:44 |只看该作者 |倒序浏览
大哥:
我没有用过SQL server
由于公司用的是SQL server
我又不想学VB,VC也很难学!
有什么方法可以用C+SQL server进行开发??
二个月内学会!
我只是学过C,还没有精通它呢!
MS SQL server 有什么API 可用C\C++实现!

论坛徽章:
0
2 [报告]
发表于 2003-02-16 15:00 |只看该作者

MS sql server+c/c++

有db lib接口
用熟的话也不会要很长时间

dblib接口都以db 开始
可以看看msdn中dblib介绍

论坛徽章:
0
3 [报告]
发表于 2003-02-16 19:58 |只看该作者

MS sql server+c/c++

二个月不会下岗!!!
大哥:
db lib是什么??要怎样装??
msdn 的有关资料在哪有?
google 太多东西了,不知哪是!!
因一点这方面的知识都没有!
我是刚出来,还没有毕业,
只是学过一下mysql.
ms sql 是不是只能用ms的系统?
数据库为ms sql server 2000
它要求VB+sql server 编程!
也可用象VC+sql server的,但很难学VC,
有没有捷径????
帮帮忙!!!

论坛徽章:
0
4 [报告]
发表于 2003-02-17 12:12 |只看该作者

MS sql server+c/c++

MSDN的索引下有说明
以下是我的db lib例子

论坛徽章:
0
5 [报告]
发表于 2003-02-17 12:13 |只看该作者

MS sql server+c/c++


  1. //-------------------------------------------------------------------------
  2. //      InitSqlServer                   初始化访问SQLSERVER数据库的结构
  3. //-------------------------------------------------------------------------
  4. bool
  5. InitSQL (const char*UserName,const char* Password,const char *DBName,const char*DBAddr)
  6. {
  7.         if (!dbinit () )
  8.     {
  9.                 LogCCSInfo(SQL_DBLIB_INIT_ERROR);
  10.                 return false;                        /* initialize dblib */
  11.     }
  12.        
  13.        
  14.         login = dblogin ();
  15.         if (!login )
  16.     {
  17.                 printf (SQL_DBHANDLE_CREATE_ERROR_PROMPT);
  18.                 LogCCSInfo(SQL_DBHANDLE_CREATE_ERROR);
  19.                 return false;
  20.     }
  21.         DBSETLUSER (login,UserName);
  22.         DBSETLPWD (login, Password);
  23.        
  24.         printf (SQL_CONNECT_WAIT_PROMPT);
  25.         if(dbsetlogintime(20)!=SUCCESS){
  26.                 cout<<SQL_PARAM_SET_FAIL_PROMPT<<endl;
  27.                 return false;
  28.         }
  29.         dbproc = dbopen (login, DBAddr);
  30.         if (!dbproc )
  31.     {
  32.                 printf (SQL_OPENDATASOURCE_FAIL_PROMPT);
  33.                 LogCCSInfo(SQL_DATASOURCE_OPEN_FAIL);
  34.                 return false;
  35.     }
  36.         if (dbuse (dbproc, DBName) != SUCCEED)
  37.     {
  38.                 printf (SQL_USE_DB_LIB_ERROR);
  39.                 LogCCSInfo(SQL_DATABASE_OPEN_FAIL);
  40.                 return false;
  41.     }
  42.         printf (SQL_INIT_SUCCEED);
  43.         dbsetopt (dbproc, DBBUFFER, "100");
  44.         return true;
  45. }


  46. //=========================================================================
  47. //      CloseSqlServer                  退出
  48. //=========================================================================
  49. void
  50. CloseSQL ()
  51. {
  52.         dbexit ();
  53. }

  54. //-----------------------------------------------------------------------------------------
  55. //      功能:执行一条SQL语句,成功返回0失败返回-1
  56. //-----------------------------------------------------------------------------------------
  57. int
  58. ExecSQLCmd (const char *Cmd)
  59. {
  60.         static int SqlFailCounter;        //SQL失败告警统计
  61.         if(!SysInfo.SQLIsConnect)
  62.                 return -1;
  63.        
  64.         RETCODE retcode;
  65.         dbcmd (dbproc, Cmd);
  66.         dbsqlexec (dbproc);
  67.     retcode=dbresults (dbproc);
  68.         if (retcode== SUCCEED){
  69.                 SqlFailCounter=0;
  70.                 return 0;
  71.         }
  72.        
  73.         SqlFailCounter++;
  74.         if(dbdead(dbproc)||SqlFailCounter>;1){
  75.                 dbclose (dbproc);
  76.                 SysInfo.SQLIsConnect=false;
  77.         }
  78.         return -1;
  79. }

复制代码

论坛徽章:
0
6 [报告]
发表于 2003-02-17 12:14 |只看该作者

MS sql server+c/c++

查询方面使用的函数是

  1.         char s[300],CICName[20];
  2.         sprintf (s ,"SELECT  AAA FROM AAA_inf WHERE id=%d OR id=3 ",Nature);
  3.        
  4.         if(ExecSQLCmd(s))
  5.                 return SQL_EXEC_ERROR;
  6.        
  7.         dbbind (dbproc, 1, NTBSTRINGBIND, (DBINT) 0, (unsigned char *)  CICName);
  8.         while(dbnextrow (dbproc) != NO_MORE_ROWS){       
  9.                 AddStrToResultStr(strout,"CIC",CICName);
  10.                 dbclrbuf(dbproc,100);
  11.         }
  12.        

复制代码

论坛徽章:
0
7 [报告]
发表于 2003-02-17 12:15 |只看该作者

MS sql server+c/c++

对里面用到的函数自己看看msdn

论坛徽章:
0
8 [报告]
发表于 2003-02-17 13:36 |只看该作者

MS sql server+c/c++

SQL SERVER 支持ESQL,可用VC++开发

论坛徽章:
0
9 [报告]
发表于 2003-02-18 00:37 |只看该作者

MS sql server+c/c++

VC++很难学!
我想用C++B,可以吗?
很急了!

论坛徽章:
0
10 [报告]
发表于 2003-02-18 08:47 |只看该作者

MS sql server+c/c++

使用CB也可以对MS SQL 编程
而且很简单
但是因为是通过ODBC接口
所以性能不是很高

所以要问一下你们主管是不是可以使用CB代替VC



如果作的内容与界面无关的话
那么用VC也是很方便的
因为VC的调试比CB好
这时你只要会使用C语法就可以了
就是说可以把VC当TC用

如果是作界面的话
那么当然是使用CB好
但是一般做界面的使用DELPHI
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP