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;
}
(1)c导入数据库扩展阅读
C语言使用注意事项:
1、指针是c语言的灵魂,一定要灵活的使用它:
(1)、指针的声明,创建,赋值,销毁等
(2)、指针的类型转换,传参,回调等
2、递归调用也会经常用到:
(1)、递归遍历树结构
(2)、递归搜索
B. c语言可以访问数据库吗
C语言程序是完全可以访问数据库的。要想在C语言程序中访问数据库就需要使用数据库提供的函数,把数据库提供的头文件包含在你的文件之中,然后调用访问数据库的函数就可以访问你的数据库了。在编译访问数据库的C语言程序时候可能还需要链接相关的库文件。
C. 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);
}
D. 求一个C# Excel导入数据库的源码
环境:c#.2005+Access+ Sql
一、把DataTable插入数据库
public static void DataTableToDB()
{
string _strExcelFileName = @"D:\example.xls";
DataTable dtExcel = ExcelToDataTable(_strExcelFileName,"Sheet1");
for (int i = 0; i < dtExcel.Rows.Count; i++)
{
InsertDataToAccess(dtExcel.Rows[i][0].ToString(), float.Parse(dtExcel.Rows[i][1].ToString()));
}
}
二、把Excel数据读入DataTable
public static DataTable ExcelToDataTable(string strExcelFileName, string strSheetName)
{
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + strExcelFileName + ";" +"Extended Properties=Excel 5.0;";
string strExcel = string.Format("select * from [{0}$]", strSheetName);
DataSet ds = new DataSet();
using (OleDbConnection conn = new OleDbConnection(strConn))
{
conn.Open();
OleDbDataAdapter adapter = new OleDbDataAdapter(strExcel, strConn);
adapter.Fill(ds, strSheetName);
conn.Close();
}
return ds.Tables[strSheetName];
}
三、向Access数据库表插入数据
public static void InsertDataToAccess(string _strPara,float _fPara)
{
OleDbConnection oleDbConn = new OleDbConnection();
oleDbConn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\ExcelData.mdb;User Id=admin;Password=;";
oleDbConn.Open();
string strInsertString = "INSERT INTO tb_excelData (strCollumn1,fCollumn2) VALUES (@strCollumn1,@fCollumn2)";
OleDbCommand oComm = new OleDbCommand(strInsertString, oleDbConn);
oComm.Parameters.Add("@strCollumn1", OleDbType.Char , 50);
oComm.Parameters["@strCollumn1"].Value = _strPara;
oComm.Parameters.Add("@fCollumn2", OleDbType.Double);
oComm.Parameters["@fCollumn2"].Value = _fPara;
ocomm.ExecuteNonQuery();
oleDbConn.Close();
}
E. C璇瑷镐庝箞杩炴帴oracle鏁版嵁搴掳纻
瑕佸湪C璇瑷涓杩炴帴Oracle鏁版嵁搴掳纴鎭ㄥ彲浠ヤ娇鐢∣racle鎻愪緵镄凮DBC锛圤pen Database Connectivity锛夋帴鍙f潵瀹炵幇銆备互涓嬫槸杩炴帴Oracle鏁版嵁搴撶殑涓鑸姝ラわ细
纭淇濇偍宸插畨瑁呬简阃傚綋镄凮DBC椹卞姩绋嫔簭鍜孙racle瀹㈡埛绔杞浠躲
鍦–浠g爜涓鍖呭惈蹇呰佺殑澶存枃浠讹纴濡<stdio.h>銆<stdlib.h>鍜<sql.h>銆
浣跨敤ODBC鍑芥暟锛屽係QLAllocHandle()鍜孲QLConnect()锛屽垎閰嶅拰杩炴帴鏁版嵁搴撶殑鍙ユ焺銆
閰岖疆杩炴帴瀛楃︿覆锛屾寚瀹氭墍闇镄勮繛鎺ュ弬鏁帮纴渚嫔傛暟鎹搴揿悕銆佺敤鎴峰悕鍜屽瘑镰佺瓑淇℃伅銆
浣跨敤SQLExecDirect()鍑芥暟镓ц孲QL璇鍙ユ垨璋幂敤鐩稿叧镄凮DBC鍑芥暟𨱒ユ墽琛屽叾浠栨暟鎹搴撴搷浣滐纴濡傛煡璇㈡暟鎹銆佹彃鍏ユ暟鎹绛夈
阃氲繃SQLFetch()鍑芥暟銮峰彇镆ヨ㈢粨鏋滈泦锛屽苟镙规嵁闇瑕佽繘琛屽勭悊鍜岃緭鍑恒
杩椤彧鏄涓涓锘烘湰镄勭ず渚嬶纴瀹为檯𨱍呭喌鍙鑳戒细锲犱娇鐢ㄧ殑缂栬疟鍣ㄥ拰镎崭綔绯荤粺钥屾湁镓涓嶅悓銆傚缓璁鍙傝幂浉鍏崇殑Oracle鍜孙DBC鏂囨。锛屼互鍙娄娇鐢ㄩ傚簲鎭ㄧ幆澧幂殑ODBC绀轰緥浠g爜𨱒ヨ繘琛屾洿鍏蜂綋镄勬搷浣溿
F. C语言与MySQL的连接简明教程c与mysql连接教程
C语言与MySQL的连接简明教程
MySQL是一种广泛使用的关系型数据库管理系统,而C语言是一种高效、直接、通用的编程语言。在现代软件开发中,C语言与MySQL之间的连接已变得至关重要。在本篇文章中,我们将为您提供一份简明教程,指导您如何在C语言中连接MySQL数据库。
步骤一:安装MySQL Connector库
1. 在MySQL官方网站中下载MySQL Connector/C(即MySQL C API)。
2. 运行安装程序并按照向导将库安装到您的系统中。
3. 环境变量$PATH应该可以找到MySQL Connector/C库。你可以使用printf命令来测试。
步骤二:连接MySQL数据库
1. 包含MySQL头文件与链接库
#include //MySQL库文件
#include //printf函数的头文件
#include //包含exit()函数的头文件
int mn()
{
MYSQL mysql; //定义一个MYSQL变量
//初始化MYSQL变量
mysql_init(&mysql);
//连接MySQL服务器
if(!mysql_real_connect(&mysql, “127.0.0.1”, “root”, “123456”, “test”, 0, NULL, 0))
{
printf(“连接失败,错误代码:%u %s\n”, mysql_errno(&mysql), mysql_error(&mysql));
exit(1);
}
printf(“连接成功\n”);
//关闭Mysql
mysql_close(&mysql);
return 0;
}
2. 连接MySQL数据库并检测连接是否成功。
mysql_init(&mysql); //初始化MYSQL变量
if(!mysql_real_connect(&mysql, “127.0.0.1”, “root”, “123456”, “test”, 0, NULL, 0))
{
printf(“连接失败,错误代码:%u %s\n”, mysql_errno(&mysql), mysql_error(&mysql));
exit(1); //退出
}
printf(“连接成功\n”);
步骤三:执行SQL语句
1. 在连接MySQL数据库的基础上,可以使用mysql_query()函数执行SQL语句。
mysql_query(&mysql,”SELECT * FROM test”); //执行SQL语句
2. 当执行SQL语句返回结果集时,可以通过mysql_store_result()函数获取结果集。
MYSQL_RES *result; //定义结果集变量
result = mysql_store_result(&mysql); //获取结果集
3. 如果执行的SQL语句不返回结果集,可以调用mysql_affected_rows()函数来获取影响的行数。
int rows = mysql_affected_rows(&mysql); //影响行数
步骤四:释放结果集与关闭MySQL
1. 释放结果集变量。
mysql_free_result(result);
2. 关闭MySQL连接。
mysql_close(&mysql); //关闭Mysql
通过以上简明教程,希望能为您的MySQL与C语言的连接提供一些帮助。当然,MySQL和C语言在实际应用中还有很多细节需要注意,希望大家能够在实践中不断完善,开发出更加快速高效的软件产品。
G. c语言可以连接access数据库
#import "C:\program files\common files\system\ado\msado15.dll " no_namespace rename( "EOF ", "adoEOF ")
//#import "c:\program files\common files\system\ado\msado15.dll " rename ( "EOF ", "adoEOF ") no_namespace
#define CREATEiNSTANCE(sp,riid) { HRESULT _hr =sp .CreateInstance( __uuidof( riid ) ); \
if (FAILED(_hr)) _com_issue_error(_hr); }
#define RsITEM(rs,x) ((rs-> Fields-> Item[_variant_t(x)]-> Value))
class CHmbAdoDB
{
public:
BOOL m_bOpen;
_ConnectionPtr m_DbConn;
CString m_ErrMsg;
CString m_SQLState;
long mSqlCode;
public:
void Cancel();
BOOL IsOpen();
void RollbackTrans();
void CommitTrans();
long BeginTrans();
void Close();
BOOL Open(LPCSTR lpszConnect);
BOOL Execute(LPCTSTR lpSQL);
void ProviderError();
CHmbAdoDB()
{
}
virtual ~CHmbAdoDB()
{
}
};
class CHmbAdoDBRs : public CObject
{
public:
_RecordsetPtr m_Rs;
public:
CHmbAdoDBRs();
virtual ~CHmbAdoDBRs();
BOOL Open( CHmbAdoDB *pDB, LPCSTR szSource,long option=-1);
void Close();
void GetRs(_variant_t x,_bstr_t &ret);
void GetRs(_variant_t x,CString &ret);
BOOL IsEOF();
BOOL IsOpen();
BOOL MoveNext();
BOOL MovePrev();
BOOL MoveFirst();
BOOL MoveLast();
};
#endif // !defined(AFX_RfidAdoDB_H__7C539954_1C62_47B6_AB6E_1A5BB73A67E5__INCLUDED_) truct InitOle
{
InitOle() { ::CoInitialize(NULL); }
~InitOle() { ::CoUninitialize(); }
} _init_InitOle_;
long mSqlCode;
BOOL CHmbAdoDB::Open(LPCSTR lpszConnect)
{
try
{
CREATEiNSTANCE(m_DbConn,Connection);
m_DbConn-> Open(lpszConnect, " ", " ", adModeUnknown );
}
catch( _com_error &e)
{
return FALSE;
}
catch(...)
{
return FALSE;
}
return TRUE;
}
void CHmbAdoDB::Close()
{
if( IsOpen() )
{
m_DbConn-> Close();
}
}
long CHmbAdoDB::BeginTrans()
{
return m_DbConn-> BeginTrans();
}
void CHmbAdoDB::CommitTrans()
{
m_DbConn-> CommitTrans();
}
void CHmbAdoDB::RollbackTrans()
{
m_DbConn-> RollbackTrans();
}
void CHmbAdoDB::Cancel()
{
m_DbConn-> Cancel();
}
BOOL CHmbAdoDB::IsOpen()
{
return ( (m_DbConn-> GetState() != 0) ? TRUE : FALSE );
}
BOOL CHmbAdoDB::Execute(LPCTSTR lpSQL)
{
if (!IsOpen())
{
AfxMessageBox( "Network error, Database do not open. ");
return FALSE;
}
CString strSQL(lpSQL);
strSQL.TrimLeft();
strSQL.TrimRight();
try
{
m_DbConn-> Execute(_bstr_t(strSQL), NULL, adExecuteNoRecords);
}
catch( _com_error &e)
{
return FALSE;
}
catch(...)
{
return FALSE;
}
return TRUE;
}
void CHmbAdoDB::ProviderError()
{
// Print Provider Errors from Connection object.
// pErr is a record object in the Connection 's Error collection.
ErrorPtr pErr = NULL;
if( (m_DbConn-> Errors-> Count) > 0)
{
long nCount = m_DbConn-> Errors-> Count;
// Collection ranges from 0 to nCount -1.
for(long i = 0; i < nCount; i++)
{
pErr = m_DbConn-> Errors-> GetItem(i);
mSqlCode = pErr-> NativeError;
m_ErrMsg.Format( "SQLCODE : %ld\t%s ",mSqlCode, LPCTSTR(pErr-> Description));
m_SQLState.Format( "%s ",(char*)pErr-> SQLState);
printf( "%s // %s\n ",m_SQLState,m_ErrMsg);
}
}
m_DbConn-> Errors-> Clear();
}
CHmbAdoDBRs::CHmbAdoDBRs( )
{
}
CHmbAdoDBRs::~CHmbAdoDBRs()
{
}
BOOL CHmbAdoDBRs::Open( CHmbAdoDB *pDB, LPCSTR szSource,long option )
{
CString strSQL;
strSQL = CString(szSource);
strSQL.TrimLeft();
strSQL.TrimRight();
_variant_t vRecsAffected(0L);
// CREATEiNSTANCE( m_Rs,Recordset) ;
// m_Rs-> PutRefActiveConnection( pDB-> m_DbConn );
try
{
m_Rs = pDB-> m_DbConn-> Execute(_bstr_t(strSQL),
&vRecsAffected,
adOptionUnspecified);
m_Rs-> AddRef();
// m_Rs-> Open(szSource, vtMissing, adOpenKeyset, adLockBatchOptimistic, adOptionUnspecified);
// m_Rs-> Open(szSource, vtMissing, adOpenKeyset, adLockReadOnly, option);
// m_Rs-> Open(szSource,pDB-> m_DbConn.GetInterfacePtr(),adOpenDynamic,adLockOptimistic, adCmdText);
}
catch( _com_error &e)
{
//ErrorMessage();
m_Rs-> Close();
m_Rs-> Release();
return FALSE;
}
catch(...)
{
m_Rs-> Close();
m_Rs-> Release();
return FALSE;
}
return TRUE;
}
void CHmbAdoDBRs::Close()
{
m_Rs-> Close();
m_Rs-> Release();
}
void CHmbAdoDBRs::GetRs(_variant_t x,_bstr_t &ret)
{
ret = (m_Rs-> Fields-> Item[x]-> Value);
}
void CHmbAdoDBRs::GetRs(_variant_t x,CString &ret)
{
_bstr_t retVal;
try{
retVal = (m_Rs-> Fields-> Item[x]-> Value);
}
catch(...){
ret = " ";
return;
}
ret = CString((char*) retVal);
}
BOOL CHmbAdoDBRs::IsEOF()
{
return m_Rs-> adoEOF;
}
BOOL CHmbAdoDBRs::IsOpen()
{
return ( (m_Rs-> GetState() != 0) ? TRUE : FALSE );
}
BOOL CHmbAdoDBRs::MoveNext() { return (FAILED(m_Rs-> MoveNext()) ? FALSE : TRUE ); }
BOOL CHmbAdoDBRs::MovePrev() { return (FAILED(m_Rs-> MovePrevious()) ? FALSE : TRUE ); }
BOOL CHmbAdoDBRs::MoveFirst() { return (FAILED(m_Rs-> MoveFirst()) ? FALSE : TRUE ) ; }
BOOL CHmbAdoDBRs::MoveLast() { return (FAILED(m_Rs-> MoveLast()) ? FALSE : TRUE ) ; }
以上为一个ADO的封装类.
c语言如何连接access数据库
现在一般是用ADO的方法.