怎么在VC环境下用语句来连接MYSQL和查询MYSQL? 现在我的环境是设好了怎么用语句来连接MYSQL和查询MYSQL(是指在VC环境下,我在PHP环境下连接过)? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 无论如何你得先装MySQL的客户端吧(我用过的时候是ODBC的),然后要配置,如不想手动配置,就写注册表吧,连接串吧,就是ADO连接ODBC源的串就可以了。你应该能自已搞定吧。 现在我在VC环境下可以使用MYSQL数据库了我是说怎么写语句来连接MYSQL比如在PHP下是<?$db=mysql_connect("localhost","user","password");mysql_select_db("diskc_com_ioaty",$db);$result="insert into test(user,password) values('ioaty','shenhu')";mysql_query($result);?> 我怎么用下面这个例子来连接我的数据库呢/*C4*//****************************************************************//* Author: Jethro Wright, III TS : 3/ 4/1998 9:15 *//* Date: 02/18/1998 *//* mytest.c : do some testing of the libmySQL.DLL.... *//* *//* History: *//* 02/18/1998 jw3 also sprach zarathustra.... *//****************************************************************/#include <windows.h>#include <stdio.h>#include <string.h>#include <mysql.h>#define DEFALT_SQL_STMT "SELECT * FROM db"#ifndef offsetof#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)#endif/************************************************************ main :-**********************************************************/intmain( int argc, char * argv[] ){ char szSQL[ 200 ], aszFlds[ 25 ][ 25 ], szDB[ 50 ] ; const char *pszT; int i, j, k, l, x ; MYSQL * myData ; MYSQL_RES * res ; MYSQL_FIELD * fd ; MYSQL_ROW row ; //....just curious.... printf( "sizeof( MYSQL ) == %d\n", sizeof( MYSQL ) ) ; if ( argc == 2 ) { strcpy( szDB, argv[ 1 ] ) ; strcpy( szSQL, DEFALT_SQL_STMT ) ; strcpy( szDB, "mysql" ) ; strcpy( szSQL, DEFALT_SQL_STMT ) ; } //.... if ( (myData = mysql_init((MYSQL*) 0)) && mysql_real_connect( myData, NULL, NULL, NULL, NULL, MYSQL_PORT, NULL, 0 ) ) { if ( mysql_select_db( myData, szDB ) < 0 ) { printf( "Can't select the %s database !\n", szDB ) ; mysql_close( myData ) ; return 2 ; } } else { printf( "Can't connect to the mysql server on port %d !\n", MYSQL_PORT ) ; mysql_close( myData ) ; return 1 ; } //.... if ( ! mysql_query( myData, szSQL ) ) { res = mysql_store_result( myData ) ; i = (int) mysql_num_rows( res ) ; l = 1 ; printf( "Query: %s\nNumber of records found: %ld\n", szSQL, i ) ; //....we can get the field-specific characteristics here.... for ( x = 0 ; fd = mysql_fetch_field( res ) ; x++ ) strcpy( aszFlds[ x ], fd->name ) ; //.... while ( row = mysql_fetch_row( res ) ) { j = mysql_num_fields( res ) ; printf( "Record #%ld:-\n", l++ ) ; for ( k = 0 ; k < j ; k++ ) printf( " Fld #%d (%s): %s\n", k + 1, aszFlds[ k ], (((row[k]==NULL)||(!strlen(row[k])))?"NULL":row[k])) ; puts( "==============================\n" ) ; } mysql_free_result( res ) ; } else printf( "Couldn't execute %s on the server !\n", szSQL ) ; //.... puts( "==== Diagnostic info ====" ) ; pszT = mysql_get_client_info() ; printf( "Client info: %s\n", pszT ) ; //.... pszT = mysql_get_host_info( myData ) ; printf( "Host info: %s\n", pszT ) ; //.... pszT = mysql_get_server_info( myData ) ; printf( "Server info: %s\n", pszT ) ; //.... res = mysql_list_processes( myData ) ; l = 1 ; if (res) { for ( x = 0 ; fd = mysql_fetch_field( res ) ; x++ ) strcpy( aszFlds[ x ], fd->name ) ; while ( row = mysql_fetch_row( res ) ) { j = mysql_num_fields( res ) ; printf( "Process #%ld:-\n", l++ ) ; for ( k = 0 ; k < j ; k++ ) printf( " Fld #%d (%s): %s\n", k + 1, aszFlds[ k ], (((row[k]==NULL)||(!strlen(row[k])))?"NULL":row[k])) ; puts( "==============================\n" ) ; } } else { printf("Got error %s when retreiving processlist\n",mysql_error(myData)); } //.... res = mysql_list_tables( myData, "%" ) ; l = 1 ; for ( x = 0 ; fd = mysql_fetch_field( res ) ; x++ ) strcpy( aszFlds[ x ], fd->name ) ; while ( row = mysql_fetch_row( res ) ) { j = mysql_num_fields( res ) ; printf( "Table #%ld:-\n", l++ ) ; for ( k = 0 ; k < j ; k++ ) printf( " Fld #%d (%s): %s\n", k + 1, aszFlds[ k ], (((row[k]==NULL)||(!strlen(row[k])))?"NULL":row[k])) ; puts( "==============================\n" ) ; } //.... pszT = mysql_stat( myData ) ; puts( pszT ) ; //.... mysql_close( myData ) ; return 0 ;} void CPowerServerDlg::LoadDevice(){ SYSTEMTIME time; GetLocalTime(&time); _RecordsetPtr m_Recordset; _variant_t var; CString temp; ServerRunning = FALSE; ConnStr.Format("Provider=SQLOLEDB.1;SERVER=%s;DATABASE=PowerData;UID=%s;PWD=%s",IPstr,UserID,Pws); m_Connect.CreateInstance(__uuidof(Connection)); m_Connect->Open(_bstr_t(ConnStr),"","",-1); try/*打开数据表*/ { m_Recordset.CreateInstance(__uuidof(Recordset)); m_Recordset->Open("Select * From Device where status='1'",m_Connect.GetInterfacePtr(),adOpenForwardOnly,adLockReadOnly,adCmdText); }catch(_com_error e) { AfxMessageBox("打开设备表失败,请检查数据库!"); return;}自已看看吧 你要改一下连接字符串,MySql我没试过不知道是什么字符串 字符串转十六进制溢出的问题。 升星散分 一个弱智问题:关于main函数中形参的问题? 请多多指教 如何响应主窗口的OnKeyDown函数? 谁给我个视频的例子? 各位大哥看看如何这句vc的程序转换成vb的程序 小弟刚学 大哥们帮忙 有好东西,大家一起去看啊 通过数据链路层,如何发送一个数据包? 怎样在空白文档上画小点儿?? 为什么CToolBarCtrl中好多CWnd函数都不能用? CListCtrl控件怎么插入一列 无效呀? 关于事件问题,请教大家。
你应该能自已搞定吧。
我是说怎么写语句来连接MYSQL
比如在PHP下是
<?
$db=mysql_connect("localhost","user","password");
mysql_select_db("diskc_com_ioaty",$db);
$result="insert into test(user,password) values('ioaty','shenhu')";
mysql_query($result);
?>
/*C4*/
/****************************************************************/
/* Author: Jethro Wright, III TS : 3/ 4/1998 9:15 */
/* Date: 02/18/1998 */
/* mytest.c : do some testing of the libmySQL.DLL.... */
/* */
/* History: */
/* 02/18/1998 jw3 also sprach zarathustra.... */
/****************************************************************/
#include <windows.h>
#include <stdio.h>
#include <string.h>#include <mysql.h>#define DEFALT_SQL_STMT "SELECT * FROM db"
#ifndef offsetof
#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)
#endif
/********************************************************
**
** main :-
**
********************************************************/int
main( int argc, char * argv[] )
{ char szSQL[ 200 ], aszFlds[ 25 ][ 25 ], szDB[ 50 ] ;
const char *pszT;
int i, j, k, l, x ;
MYSQL * myData ;
MYSQL_RES * res ;
MYSQL_FIELD * fd ;
MYSQL_ROW row ; //....just curious....
printf( "sizeof( MYSQL ) == %d\n", sizeof( MYSQL ) ) ;
if ( argc == 2 )
{
strcpy( szDB, argv[ 1 ] ) ;
strcpy( szSQL, DEFALT_SQL_STMT ) ;
strcpy( szDB, "mysql" ) ;
strcpy( szSQL, DEFALT_SQL_STMT ) ;
}
//....
if ( (myData = mysql_init((MYSQL*) 0)) &&
mysql_real_connect( myData, NULL, NULL, NULL, NULL, MYSQL_PORT,
NULL, 0 ) )
{
if ( mysql_select_db( myData, szDB ) < 0 ) {
printf( "Can't select the %s database !\n", szDB ) ;
mysql_close( myData ) ;
return 2 ;
}
}
else {
printf( "Can't connect to the mysql server on port %d !\n",
MYSQL_PORT ) ;
mysql_close( myData ) ;
return 1 ;
}
//....
if ( ! mysql_query( myData, szSQL ) ) {
res = mysql_store_result( myData ) ;
i = (int) mysql_num_rows( res ) ; l = 1 ;
printf( "Query: %s\nNumber of records found: %ld\n", szSQL, i ) ;
//....we can get the field-specific characteristics here....
for ( x = 0 ; fd = mysql_fetch_field( res ) ; x++ )
strcpy( aszFlds[ x ], fd->name ) ;
//....
while ( row = mysql_fetch_row( res ) ) {
j = mysql_num_fields( res ) ;
printf( "Record #%ld:-\n", l++ ) ;
for ( k = 0 ; k < j ; k++ )
printf( " Fld #%d (%s): %s\n", k + 1, aszFlds[ k ],
(((row[k]==NULL)||(!strlen(row[k])))?"NULL":row[k])) ;
puts( "==============================\n" ) ;
}
mysql_free_result( res ) ;
}
else printf( "Couldn't execute %s on the server !\n", szSQL ) ;
//....
puts( "==== Diagnostic info ====" ) ;
pszT = mysql_get_client_info() ;
printf( "Client info: %s\n", pszT ) ;
//....
pszT = mysql_get_host_info( myData ) ;
printf( "Host info: %s\n", pszT ) ;
//....
pszT = mysql_get_server_info( myData ) ;
printf( "Server info: %s\n", pszT ) ;
//....
res = mysql_list_processes( myData ) ; l = 1 ;
if (res)
{
for ( x = 0 ; fd = mysql_fetch_field( res ) ; x++ )
strcpy( aszFlds[ x ], fd->name ) ;
while ( row = mysql_fetch_row( res ) ) {
j = mysql_num_fields( res ) ;
printf( "Process #%ld:-\n", l++ ) ;
for ( k = 0 ; k < j ; k++ )
printf( " Fld #%d (%s): %s\n", k + 1, aszFlds[ k ],
(((row[k]==NULL)||(!strlen(row[k])))?"NULL":row[k])) ;
puts( "==============================\n" ) ;
}
}
else
{
printf("Got error %s when retreiving processlist\n",mysql_error(myData));
}
//....
res = mysql_list_tables( myData, "%" ) ; l = 1 ;
for ( x = 0 ; fd = mysql_fetch_field( res ) ; x++ )
strcpy( aszFlds[ x ], fd->name ) ;
while ( row = mysql_fetch_row( res ) ) {
j = mysql_num_fields( res ) ;
printf( "Table #%ld:-\n", l++ ) ;
for ( k = 0 ; k < j ; k++ )
printf( " Fld #%d (%s): %s\n", k + 1, aszFlds[ k ],
(((row[k]==NULL)||(!strlen(row[k])))?"NULL":row[k])) ;
puts( "==============================\n" ) ;
}
//....
pszT = mysql_stat( myData ) ;
puts( pszT ) ;
//....
mysql_close( myData ) ;
return 0 ;}
{
SYSTEMTIME time;
GetLocalTime(&time);
_RecordsetPtr m_Recordset;
_variant_t var;
CString temp;
ServerRunning = FALSE;
ConnStr.Format("Provider=SQLOLEDB.1;SERVER=%s;DATABASE=PowerData;UID=%s;PWD=%s",IPstr,UserID,Pws);
m_Connect.CreateInstance(__uuidof(Connection));
m_Connect->Open(_bstr_t(ConnStr),"","",-1);
try/*打开数据表*/
{
m_Recordset.CreateInstance(__uuidof(Recordset));
m_Recordset->Open("Select * From Device where status='1'",m_Connect.GetInterfacePtr(),adOpenForwardOnly,adLockReadOnly,adCmdText);
}catch(_com_error e)
{ AfxMessageBox("打开设备表失败,请检查数据库!"); return;}
自已看看吧