c連線mysql時資料庫和表名是漢字時連線不上應該怎麼做

時間 2021-06-01 17:06:56

1樓:趙偉

返回什麼錯誤?可以呼叫mysql_errno()和mysql_error()看到。應該是字符集設定錯誤導致mysqld找不到指定的db。

可以呼叫mysql_options()設定客戶端字符集,確保發給server的語句的字符集編碼符合在server端設定的character_set_client

2樓:紅綠阿甘

#include //最好放在首位,位置關係會導致錯誤,mysql.h

#include "D:/新建資料夾/wamp/bin/mysql/mysql5.7.19/include/mysql.h"

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

#include

#include

#include

main(){

MYSQL * con; //= mysql_init((MYSQL*) 0);

MYSQL_RES *res;

MYSQL_ROW row;

char tmp[400];

//database configuartion

char dbuser[30]="root";

char dbpasswd[30]="";

char dbip[30]="127.0.0.1";

char dbname[50]="e1";

char tablename[50]="e2";

//char dbname[50]="資料庫0";

//char tablename[50]="表0";

char *query=NULL;

int rt;//return value

unsigned int t;

int count = 0;

printf("Content-type:text/html\n\n");

printf("\n\n");

con = mysql_init((MYSQL*) 0);

if ( con !=NULL && mysql_real_connect(con,dbip,dbuser,dbpasswd,dbname,3306

/*TCP IP埠*/,NULL/*Unix Socket 連線型別*/,0/*執行成ODBC資料庫標誌*/) )

if (!mysql_select_db(con,dbname))

printf("連線資料庫

\n\n");

con ->reconnect = 1;

query = "set names \'GBK\'";

//mysql_query(con,"set names \'GBK\'");

rt=mysql_real_query(con,query,strlen(query));

if (rt)

printf("錯誤查詢: %s !!!

\n\n",mysql_error(con));

else

printf("查詢 %s執行

\n\n",query);

else

{printf("出錯了

\n\n");

//MessageBoxA(NULL,"Unable to connect the database,check your configuration!","",NULL);

關係型資料庫,資料庫表設計,兩個表的連線關係是多對多,連線表的設計除了傳統的設計方案外還有其他設計方案麼?或者說有幾種可能的設計方案。

王璐 你所說的符合正規化的設計肯定是設計的第一步,之後的設計要看業務具體怎麼用這些資料。馬上就能想到的幾點是 未完成的訂單備受關注 已完成的訂單不會有修改。要解決題目中的查詢壓力,簡單的方案是 把未完成單 三月內單 歷史訂單分開儲存。當然對於前端的處理和快取也能有效減少查詢和查詢壓力。 LS的已經回...

Mysql資料庫每一張表只能存1000行資料嗎?

強哥 這個問題。哈哈真的不知道怎麼回答了。用腳後根想一下,如果EXCLE,一張工作表只能存1000行資料,還有人用嗎?更何況專業用來處理資料的資料庫呢。 BriData 當我們談論乙個表的能力的時候需要綜合考慮,文件中都有 Table Limitation 的部分。具體到你的問題,至於能不能存100...

請教redis如何做到和mysql資料庫的同步呢?

彼得潘大叔 用MySQL binlog觸發更新 larry 使用redis作為mysql的二級快取即可,實現org.apache.ibatis.cache.Cache介面寫個MybatisRedisCache這樣的類。修改mysql資料後,可以直接重新整理redis快取資料。 紅中 看了很多答案,都...