c做登录系统(是简单了点,但我想改改就可以用的)

这篇博客提供了一个简单的C语言实现的登录系统,该系统利用SQL Server进行用户身份验证。通过调用`loginProc`函数,传入用户名和密码,系统将与SQL Server交互查询匹配的登录信息。当登录成功时,系统会输出'login successful!'。错误处理和消息处理函数也被定义以捕获并打印可能出现的错误信息。
摘要由CSDN通过智能技术生成

可以用于用户身份验证:

/*****************login.h**********/

/*

#ifndef _LOGIN_H_
#define _LOGIN_H_
#define DBNTWIN32
#include <stdio.h>
#include <windows.h>
#include <sqlfront.h>
#include <sqldb.h>

#pragma comment(lib,"ntwdblib.lib")


int err_handler(PDBPROCESS, INT, INT, INT, LPCSTR, LPCSTR);
int msg_handler(PDBPROCESS, DBINT, INT, INT, LPCSTR, LPCSTR,
                LPCSTR, DBUSMALLINT);

void loginProc(char *id,char *paswd);

#endif 

*/

/**********************login.c**********************/

/*

#include "login.h"


void main()
{
  char s[]="257211362";
  char p=[]="********";
  login(s,p);
}
void loginProc(char *id,char *paswd)
{
    PDBPROCESS  dbproc;    // The connection with SQL Server.
    PLOGINREC   login;     // The login information.
    DBCHAR      login_id[100];
    DBCHAR      passwd[100];

    // Install user-supplied error- and message-handling functions.
    dberrhandle (err_handler);
    dbmsghandle (msg_handler);

    // Initialize DB-Library.
    dbinit ();

    // Get a LOGINREC.
    login = dblogin ();
    DBSETLUSER (login, "sa");
    DBSETLPWD (login, "miss");
    DBSETLAPP (login, "example");

    // Get a DBPROCESS structure for communication with SQL Server.
    dbproc = dbopen (login, "COMMONOR-24364D");

    // Retrieve some columns from the authors table in the
    // pubs database.

    // First, put the command into the command buffer.
    dbcmd (dbproc, "SELECT login_id,passwd FROM pubs..login");
   // dbcmd (dbproc, " WHERE p ");

    // Send the command to SQL Server and start execution.
    dbsqlexec (dbproc);

    // Process the results.
    if (dbresults (dbproc) == SUCCEED)
    {
        // Bind column to program variables.
        dbbind (dbproc, 1, NTBSTRINGBIND, 0, login_id);
        dbbind (dbproc, 2, NTBSTRINGBIND, 0, passwd);

        // Retrieve and print the result rows.
        while (dbnextrow (dbproc) != NO_MORE_ROWS)
        {
           if(strcmp(login_id,id)==0 && strcmp(passwd,paswd)==0)
     {
      printf("login sucessful!/");
     }
     else
     {
    continue;
     }
        }
    }

    // Close the connection to SQL Server.
    dbexit ();

    return;
}

int err_handler (PDBPROCESS dbproc, INT severity,
    INT dberr, INT oserr, LPCSTR dberrstr, LPCSTR oserrstr)
{
    printf ("DB-Library Error %i: %s/n", dberr, dberrstr);
    if (oserr != DBNOERR)
    {
        printf ("Operating System Error %i: %s/n", oserr, oserrstr);
    }
    return (INT_CANCEL);
}

int msg_handler (PDBPROCESS dbproc, DBINT msgno, INT msgstate,
    INT severity, LPCSTR msgtext, LPCSTR server,
    LPCSTR procedure, DBUSMALLINT line)
{
    printf ("SQL Server Message %ld: %s/n", msgno, msgtext);
    return (0);
}

*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值