VC SQL語句裡 資料庫中是文字型別的變數在VC中用什麼型別的值

2021-07-08 21:28:56 字數 1173 閱讀 8996

1樓:匿名使用者

感覺樓主的問題沒描述清楚!

用什麼型別的變數??

資料庫中是文字型別的變數??

是不是指資料庫中的表其中有個欄位是文字型別的?然後想取得記錄中這個欄位的值?

「那麼問號這裡應該用什麼型別的變數?cstring型別不行,_bstr_t的與_variant_t似乎都不行」這句話匪夷所思...

-----------------------------

暈,原來不光是vc有問題,你的資料庫知識也不行哦。

objectid到底是什麼型別的呢?你都不描述清楚,還要讓閱讀你帖子的人來根據上下文猜。

objectid是文字型別的吧!

如果是,sql語句應該是:

select * from objectinfo where objectid = '123'

在程式中呼叫的話,稍微轉換一下就可以了:

cstring strcmd;

strcmd.format(_t("select * from objectinfo where objectid = \'%s\'"), objid);

m_precordset=m_pconnection->

p.s.看到你後面一個帖子了:

cstring轉_bstr_t可以強制型別轉換的:

_bstr_t bstr = (_bstr_t)strcmd;

_variant_t什麼都可以接受的,因此也可以強制型別轉換。

感覺你的vc知識很不牢固,像bstr,variant,_bstr_t,_variant_t其實都是com的資料型別,如果連vc資料轉換都不沒弄透徹,再學com的資料型別,並且要能夠自由地在vc和com資料型別中作轉換是很吃力的。另外要學ado,首先需要學資料庫。不學資料庫,直接ado,只會一知半解,如果只是這樣的程度,還不如不學。

因為一知半解是出不來實用程式的。

給你個學習線路的建議:

0、c++的operator成員函式使用原理》1、mfc的資料型別》2、com的資料型別》3、mfc與com之間做轉換練習》4、資料庫》5、ado

2樓:

execute第一個引數_bstr_t不用getbuffer,第二個引數就用 _variant_t

oracle資料庫sql語句表中存id 時間用select語句數出每個id分別在幾個時間段裡出現次數

可以使用case when select id,count case when to char v date,yyyymmddhh24mi between s and e then 1 else 0 end as num1,count case when to char v date,yyyymmd...

資料庫的查詢語句的別名怎麼起翱,資料庫的查詢語句的別名怎麼起啊?

直接把語句用括號括起來,然後as別名即可。如 select a.from select from emp where deptno 10 as a,select from emp where sal 2000 as b where a.empno b.empno 語句中a和b就是別名,但注意查詢中欄...

oracle資料庫如何刪除約束,資料庫中怎樣刪除約束

用system使用者登入後,使用drop語句就可以刪除 根據錯誤提示的約束名稱,然後disable掉試試。alter table table name disable constraint constraint name alter table 約束基於的表名 drop constraint 約束名...