VC 的MFC程式中運算元據庫注意事項

2021-04-13 23:52:41 字數 1263 閱讀 6700

一,關於布林型別bool

在access資料庫中的型別為yesno,如:

create table maltable(recordno autoincrement,isanswer yesno, primary key(recordno))

mysql資料庫中的型別是tinyint(1),如:

create table maltable(recordno int auto_increment,isanswer tinyint(1),primary key(recordno))

但是在程式中讀取該字段的方法有別:

在access資料庫中m_chval,如:

set.getfieldvalue("isanswer",var);

bool b=(bool)var.m_chval;

在mysql資料庫中用m_boolval,如:

set.getfieldvalue("isanswer",var);

bool b=(bool)var.m_boolval;

但是如果在getfieldvalue函式的第三個引數使用sql_c_slong,如:

set.getfieldvalue("isanswer",var,sql_c_slong);

bool b=(bool)var.m_boolval;

在access和mysql中都能正確讀出

二,關於日期型別date

在access資料庫中日期格式為yyyy-m-d h:m:s,如:

2007-8-1 12:5:6

在mysql資料庫中日期格式為yyyy-mm-dd hh:mm:ss,如:

2007-08-01 12:05:06

所有在vc++中寫sql語句查詢日期字段最好用between...and格式,而不用like格式,如:

select * from tablename where datefield between #2007-8-1# and #2007-8-31# 或

select * from tablename where datefield between #2007-08-01# and #2007-08-31#

但如果是用like格式,則必須跟資料庫中的字元匹配,如:

在access資料庫中:

select * from tablename where datefield like '2007-8'

但在mysql資料庫中:

select * from tablename where datefield like '2007-08'

運算元據庫的注意事項

1 oracle修改資料庫後需要提交,使用commit 指令。否則資料庫修改不成功,web頁面無法獲取到資料。3 mysql和oracle中對錶的修改不一樣 mysql oracle 更新欄位名 alter table table name rename column column old to c...

dos中運算元據庫

net start mysql mysql hlocalhost uroot p 如果mysql沒安裝在c盤 需進入mysql的安裝目錄 show databases cd d wamp mysql exit use databasename source e snyjbangong.sql 匯入 ...

php中運算元據庫

基本流程 1,連線資料庫 mylink mysql connect localhost root 123 2,設定連線編碼 通常是utf8 mysql set charset utf8 也可以使用 mysql query set names utf8 3,選擇資料庫 如有需要 mysql selec...