zoukankan      html  css  js  c++  java
  • C语言连接SQLSERVER数据库

    第一步:配置ODBC。在配置ODBC时有用户DSN、系统DSN、和文件DSN三种方法,为了稳妥起见,采用系统DSN。

    DSN的名字叫LocalServer,帐号:sa,密码123456

    第二步:打开VC,建一个win32 Console Application工程,名字随便都可以;

    第三步:新建一个文件,文件名随便都可以;

    第四步:拷贝如下代码:




    #include <stdio.h>
    #include <windows.h>
    #include <sqlext.h>
    #include <sqltypes.h>
    #include <odbcss.h>
    int main()
    {
     

    void sqlConnect();
     sqlConnect();
     getchar();
     return 0;
    }
    void sqlConnect()
    {
     SQLHENV henv;
     SQLHDBC hdbc;
     SQLHSTMT hstmt;
     SQLRETURN retcode;
     UCHAR sql1[79]="select No from Student where Name='jim'";

     retcode=SQLAllocHandle(SQL_HANDLE_ENV,SQL_NULL_HANDLE,&henv);
     if(retcode==SQL_SUCCESS || retcode==SQL_SUCCESS_WITH_INFO)
     {

      retcode=SQLSetEnvAttr(henv,SQL_ATTR_ODBC_VERSION,(void*)SQL_OV_ODBC3,0);
      if(retcode==SQL_SUCCESS || retcode==SQL_SUCCESS_WITH_INFO)
      {

       retcode=SQLAllocHandle(SQL_HANDLE_DBC,henv,&hdbc);
       if(retcode==SQL_SUCCESS || retcode==SQL_SUCCESS_WITH_INFO)
       {

        retcode=SQLConnect(hdbc,(SQLCHAR*)"LocalServer",SQL_NTS,(SQLCHAR*)"sa",SQL_NTS,(SQLCHAR*)"123456",SQL_NTS);
        if(retcode==SQL_SUCCESS || retcode==SQL_SUCCESS_WITH_INFO)
        {

         retcode=SQLAllocHandle(SQL_HANDLE_STMT,hdbc,&hstmt);
         if(retcode==SQL_SUCCESS || retcode==SQL_SUCCESS)
         {

          //绑定参数方式
          char a[20]="Jim";
          SQLINTEGER p=SQL_NTS;
          //1.预编译
          SQLPrepare(hstmt,sql1,79);//第三个参数与数组大小相同,而不是数据库列相同
          //2.绑定参数值
          SQLBindParameter(hstmt,1,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_CHAR,200,0,&a,0,&p);
          SQLExecute(hstmt);
          printf("connection is OK ");
          //SQLExecDirect(hstmt,sql1,79);
          char list[5];
          SQLBindCol(hstmt,1,SQL_C_CHAR,list,5,0);
          SQLFetch(hstmt);
          printf("%s ",list);
         }
         SQLDisconnect(hdbc);
        }
        SQLFreeHandle(SQL_HANDLE_DBC,hdbc);
       }
      }
     }
    }

  • 相关阅读:
    2018 蓝桥杯省赛 B 组模拟赛(一)-年龄
    在win10系统下安装和卸载Ubuntu系统(为了搞双系统)的各种办法
    2018 CCPC 中国大学生程序设计竞赛-网络选拔赛 1004(D题 )Find Integer(三角函数+费马大定理)
    HDU(杭州电子科技大学) 2614 Beat (BFS写法)
    SQL server用到的SQL语句备份下
    【SQL Server】SQL触发器经验详解
    SQL SERVER 语句大全
    sqlserver 触发器实例代码
    触发器deleted 表和 inserted 表详解
    SQL server触发器中 update insert delete 分别给写个例子被。
  • 原文地址:https://www.cnblogs.com/lsgsanxiao/p/5553804.html
Copyright © 2011-2022 走看看