当前位置:首页 » 数据仓库 » c数据库连接通用
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c数据库连接通用

发布时间: 2023-05-28 00:58:27

‘壹’ c语言怎样连接数据库(c语言和数据库连接)

1、配置ODBC数据源。

2、使用sql函数进行连接。

对于1、配置数据源,配置完以后就可以编程操作数据库了。

对于2、使用SQL函数进行连接,参考代码如下:

#include

#include

#include

voidmain()

{

HENVhenv;//环境句柄

HDBChdbc;//数据源句柄

HSTMThstmt;//执行语句句柄

unsignedchardatasource[]="数据源名称";//即源中设置的源名称

unsignedcharuser[]="用户名";//数袭此据库的帐户拍野迅名

unsignedcharpwd[]="密码";//数据库的密码

unsignedcharsearch[]="selectxmfromstuwherexh=0";

SQLRETURNretcode;//记录各SQL函数的返回情况

//分配环境句柄

retcode=SQLAllocEnv(&henv);//等介于(SQL_HANDLE_ENV,SQL_NULL

,&henv);

//设置ODBC环境版本号为3.0

retcode=(henv,SQL_ATTR_ODBC_VERSION,(void*)SQL_OV_ODBC3,0);

//分配连接句柄

retcode=(henv,&hdbc);//等介于(SQL_HANDLE_DBC,henv,&hdbc);

//设置连接属性,登录超时为*rgbValue秒(可以没有)

//(hdbc,SQL_LOGIN_TIMEOUT,(SQLPOINTER)(rgbValue),0);

//直接连接数据源

//如果是windows身份验证,第二、三参数可以是

,也可以是任何字串

//SQL_NTS即"

retcode=SQLConnect(hdbc,datasource,SQL_NTS,user,SQL_NTS,pwd,SQL_NTS);

//分配语句句柄

retcode=(hdbc,&hstmt);//等介于(SQL_HANDLE_STMT,hdbc,&hstmt);

//直接执行查询语句

retcode=(hstmt,search,SQL_NTS);

//将数据缓冲区绑定数据库中的相应脊尘字段(i是查询结果集列号,queryData是绑定缓冲区,BUFF_LENGTH是缓冲区长度)

SQLBindCol(hstmt,i,SQL_C_CHAR,queryData[i-1],BUFF_LENGTH,0);

//遍历结果集到相应缓冲区queryData

SQLFetch(hstmt);

/*

*对遍历结果的相关操作,如显示等

*/

//注意释放顺序,否则会造成未知错误!

(SQL_HANDLE_STMT,hstmt);

(hdbc);

(SQL_HANDLE_DBC,hdbc);

(SQL_HANDLE_ENV,henv);

}

‘贰’ c语言如何和数据库连接

C函数库没有相应的数据库连接接口函数。
只能够尝试用二进制或文本模式读写文件,来模拟相应的数据库操作等。
可以尝试下C++库类,里面有数据库连接的接口

‘叁’ c连接oracle数据库的连接语句

连接代码如下:
int main()
{
EXEC SQL BEGIN DECLARE SECTION;
char oc_passwd[101]; /*数据库密码*/
char oc_userid[101]; /*数据库用户名*/
char oc_dbname[101]; /*数据库名*/
char oc_coad[101];
EXEC SQL END DECLARE SECTION;

memset(oc_passwd, 0x00, sizeof(oc_passwd));
memset(oc_userid, 0x00, sizeof(oc_userid));
memset(oc_dbname, 0x00, sizeof(oc_dbname));

/*取数据库用户名*/
strcpy(oc_userid, "userid");

/*取数据库用户密码*/
strcpy(oc_passwd, "passwd") ;

/*取数据库名*/
strcpy(oc_dbname, "dbname");

EXEC SQL CONNECT :oc_userid
IDENTIFIED BY :oc_passwd
USING :oc_dbname;
if (sqlca.sqlcode != 0)
{
printf("用户名[%s]密码[%s]数据库[%s]\n", oc_userid, oc_passwd, oc_dbname);
printf("连接数据库失败,sqlcode=%d\n", sqlca.sqlcode);
return -1;
}
/*读table取coad字段*/
memset(oc_coad, 0x00, sizeof(oc_coad));
EXEC SQL SELECT coad
INTO :oc_coad
FROM table
WHERE 1=1;
if (sqlca.sqlcode == NORECORD)
{
printf("查询无记录\n");
return -1;
}
else if (sqlca.sqlcode != 0)
{
printf("查询失败,sqlcode=%d\n", sqlca.sqlcode);
return -1;
}
return 0;
}

‘肆’ C/C++ 数据库连接方法,高分

建议用ado连接,网上的ado封装好的库有很多,随便下一个就行。
包含了头文件和cpp文件后,可以这样
CADORecordset* pRs = new CADORecordset((static_cast<CFrenchApp *>(AfxGetApp()))->g_pDb);
Sql1="select word,wordtype,meaning,tag,id from word "+Where;
int i=0;
if(pRs->Open((LPCTSTR)Sql1))
{
while(!pRs->IsEof())
{
pRs->GetFieldValue(0,word[i].word);
pRs->GetFieldValue(3,word[i].tag);
pRs->GetFieldValue(1,word[i].wordtype);
pRs->GetFieldValue(2,word[i].meaning);
pRs->GetFieldValue(4,word[i].id);
pRs->MoveNext();
i++;
}
pRs->Close();
}
m_max=i;
m_cur=0;
delete pRs;
这样就可以得到数悉伍闭据库睁裂里的东橘碧西

‘伍’ C语言如何与ACCESS或MYSQL数据库连接

C语言连接 Access 数据纳闹乱库
首先在网络搜索 odbc 连接字符串 找到的是asp连接Access的方法,但是ODBC是通用的,所以直接拿过来也能用。

SQLCHAR ConnStrIn[MAXBUFLEN] = “DRIVER={MySQL ODBC 5.1 Driver};SERVER=127.0.0.1;UID=root;PWD=root;DATABASE=test;CharSet=gbk;“;
部分改成
SQLCHAR ConnStrIn[MAXBUFLEN] = “Driver={Microsoft Access Driver (*.mdb)};Dbq=//mydatabase.mdb;Uid=Admin;Pwd=;CharSet=gbk;“;
Dbq指的是你的数据库所在路劲
当然之前你应该在c:/下新建一个数据库名为mydatabase.mdb,而且如果后面的SQL操作语句是老师写的
result = SQLPrepare(hstmt,(SQLCHAR*)“* into T_Person(FAge,FName) values(20,'kider'洞档)“,SQL_NTS);
那么你也要在之前建立好一个表T_Person,和表中的两个字段FAge,FName.否则会出错。
怎么样,已经成功链接弯凳到Access了吧,接下来你就可以发扬广大了,做个管理系统之类的东东

‘陆’ 用C语言怎么实现与数据库的连接

#include<mysql/mysql.h>

#include<stdio.h>

intmain()

{

MYSQL*conn;

MYSQL_RES*res;

MYSQL_ROWrow;

char*server="localhost";//本地连接

char*user="root";//

char*password="525215980";//mysql密码

char*database="student";//数据库名

char*query="select*fromclass";//需要查询的语句

intt,r;

conn=mysql_init(NULL);

if(!mysql_real_connect(conn,server,user,password,database,0,NULL,0))

{

printf("Errorconnectingtodatabase:%s ",mysql_error(conn));

}else{

printf("Connected... ");

}

t=mysql_query(conn,query);

if(t)

{

printf("Errormakingquery:%s ",mysql_error(conn));

}else{

printf("Querymade... ");

res=mysql_use_result(conn);

if(res)

{

while((row=mysql_fetch_row(res))!=NULL)

{

//printf("num=%d ",mysql_num_fields(res));//列数

for(t=0;t<mysql_num_fields(res);t++)

printf("%8s",row[t]);

printf(" ");

}

}

mysql_free_result(res);

}

mysql_close(conn);

return0;

}

(6)c数据库连接通用扩展阅读

C语言使用注意事项:

1、指针是c语言的灵魂,一定要灵活的使用它:

(1)、指针的声明,创建,赋值,销毁等

(2)、指针的类型转换,传参,回调等

2、递归调用也会经常用到:

(1)、递归遍历树结构

(2)、递归搜索

‘柒’ 纯C语言怎样连接数据库

你先配置数据库
http://..com/question/209967914.html
然后举个例子,连接SQL
我连access的给你看一下
别忘了 mfc AfxOleInit(); 或者 win32 coInitial什么东东(初始化com的)
// 打开数据库
strDBClass.Format(_T("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;Jet OLEDB:Database Password=%s"), m_strUnEntryptMdbFilePath,m_strMDBPassword);
// 创建连接
HRESULT hr = m_pConnection.CreateInstance(_uuidof(Connection));
_ConnectionPtr m_pConnection->Open(m_strDBClass,_T(""),_T(""),adConnectUnspecified);

// 声明表单指针
_RecordsetPtr pBandRecordset;
pBandRecordset.CreateInstance(__uuidof(Recordset));

// 执行语句
CString strSQL(L"SELECT * FROM [Band]");
m_pConnection->Execute((LPCTSTR)strSQL,NULL,0);

// 提取某一项 例如BandInfo
int iBandInfo = wcscmp(colum, L"BandInfo");
while(!recordsetPtr->adoEOF)
{
var = recordsetPtr->GetCollect(colum);
if(var.vt != VT_NULL)
strName = (LPCSTR)_bstr_t(var);

recordsetPtr->MoveNext();
}

‘捌’ c与数据库连接的详细步骤

C#连接数据库有以下几个步骤:
1:使用配置的数据库连接串,创建数据库连接 Connection 对象
2:构建操作的sql语句
3:定嫌孝义command对象
4:打开数据连接
5:执芹丛稿行命令
举一个例子,删除操作
public class StudentService
{
//从配置文件中读取数据库连接字符串
private readonly static string connString = ConfigurationManager.ConnectionStrings["accpConnectionString"].ToString();
private readonly static string dboOwner = ConfigurationManager.ConnectionStrings["DataBaseOwner"].ToString();
AdoNetModels.Student model = new Student();

#region 删除数据1
public int DeleteStudent(int stuID)
{
int result = 0;
// 数据库连接 Connection 对象
SqlConnection connection = new SqlConnection(connString);
// 构建删除的sql语句
string sql = string.Format("Delete From Student Where stuID={0}", stuID);
// 定义command对象
SqlCommand command = new SqlCommand(sql, connection);

try
{
connection.Open();
result = command.ExecuteNonQuery(); //郑没 执行命令
}
catch (Exception ex)
{

Console.WriteLine(ex.Message);
}
finally
{
connection.Close();
}
return result;
}
#endregion

‘玖’ C++或C程序如何与数据库建立连接

一般要看使用的数据库。如果
操作
sql
server
需要用到
ado
驱动,这种驱动使用mfc做的包装类比较多一些,在控制台直接编写代码可能稍显繁琐。
如果操作mysql,在安装mysql的时候,有相应的include头文件和库文件,可以在自己的ide开发环境中进行设置。