感觉楼主的问题没描述清楚!
数据库中是文本类型的变量??
是不是指数据库中的表其中有个字段是文本类型的?然后想取得记录中这个字段的值?
“那么问号这里应该用什么类型的变量?CString类型不行,_bstr_t的与_variant_t似乎都不行”这句话匪夷所思
-----------------------------
晕,原来不光是VC有问题,你的数据库知识也不行哦。
ObjectID到底是什么类型的呢?你都不描述清楚,还要让阅读你帖子的人来根据上下文猜。
ObjectID是文本类型的吧!
如果是,SQL语句应该是:
SELECT FROM ObjectInfo WHERE ObjectID = '123'
在程序中调用的话,稍微转换一下就可以了:
CString strCmd;
strCmdFormat(_T("SELECT FROM ObjectInfo WHERE ObjectID = \'%s\'"), ObjID);
m_pRecordset=m_pConnection->Execute((_bstr_t)strCmd, &RecordsAffected,adCmdText);
PS看到你后面一个帖子了:
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
变量有两种类型:属性变量和用户自己建立的变量。
C语言中,变量分为全局变量和局部变量;也可以这样分:自动变量,静态变量。前者是按变量作用范围来分的,而后者是按变量存储方式来分的。
在C语言中,如果按存储占用空间来分,包括:整型变量(代码为int),整型变量包括长整型变量(代码为long int)以及短整型变量(代码为short int),字符型变量(代码为char),浮点型变量(代码float)等。当然还有数组,结构体变量等。但新手需要注意的是,每一种变量类型最终都对应的格式字符。如:%d。
可用的数据类型如下:
数值。 值为数字的变量。值以标准数值格式显示。数据编辑器接受以标准格式或科学记数法表示的数值。
逗号。 变量值显示为每三位用逗号分隔,并用句点作为小数分隔符的数值变量。数据编辑器为逗号变量接受带或不带逗号的数值,或以科学记数法表示的数值。值的小数指示符右侧不能包含逗号。
点。变量值显示为每三位用句点分隔,并带有逗号作为小数分隔符的数值变量。数据编辑器为点变量接受带或不带点的数值,或以科学记数法表示的数值。值的小数指示符右侧不能包含句点。
科学记数法。 一个数值变量,它的值以嵌入的 E 以及带符号的 10 次幂指数形式显示。数据编辑器为此类变量接受带或不带指数的数值。指数前面可以加上带符号(可选)的 E 或 D,或只加上符号 -- 例如,123、123E2、123D2、123E+2 以及 123+2。
日期。 一种数值变量,其值以若干种日历-日期或时钟-时间格式中的一种显示。从列表中选择一种格式。输入日期时可以用斜杠、连字符、句号、逗号或空格作为分隔符。两位数年份值的世纪范围由您的“选项”设置确定(从“编辑”菜单中,选择选项然后单击数据选项卡)。
美元。 数值变量,显示时前面带美元符号 ($),每三位用逗号分隔,并用句点作为小数分隔符。可以输入带有或不带有前导美元符号的数据值。
自定义货币。 一种数值变量,其值以自定义货币格式中的一种显示,自定义货币格式是在“选项”对话框的“货币”选项卡中定义的。定义的自定义货币字符不能用于数据输入,但显示在数据编辑器中。
字符串。 字符串变量的值不是数值,因此不用在计算中。字符串值可以包含任何字符,可包含的最大字符数不超过定义的长度。字符串变量区分大小写字母。此类型又称为字母数值变量。
受限数值。 值限于非负整数的变量。在显示值时,填充先导 0 以达到最大变量宽度。可以以科学记数法输入值。
数据类型是指数据的类型。
Java中主要有八种基本数据类型:byte、short、int、long、float、double、boolean、char。
各种数据类型作用:
1、byte:
8位、有符号的以二进制补码表示的整数。
min : -128(-2^7)。
max: 127(2^7-1)。
default: 0。
对应包装类:Byte。
2、short:
16位、有符号的以二进制补码表示的整数;
min : -32768(-2^15);
max: 32767(2^15 - 1);
default: 0;
对应包装类:Short。
3、int:
32位、有符号的以二进制补码表示的整数;
min : -2,147,483,648(-2^31);
max: 2,147,483,647(2^31 - 1);
default: 0;
对应包装类:Integer。
4、long:
64位、有符号的以二进制补码表示的整数;
min : -9,223,372,036,854,775,808(-2^63);
max: 9,223,372,036,854,775,807(2^63 -1);
default: 0;
对应的包装类:Long。
5、float:
单精度、32位、符合IEEE 754标准的浮点数;
float 在储存大型浮点数组的时候可节省内存空间;
浮点数不能用来表示精确的值,如货币;
default: 00f;
对应的包装类:Float。
6、double:
双精度、64位、符合IEEE 754标准的浮点数;
浮点数的默认类型为double类型;
double类型同样不能表示精确的值,如货币;
default: 00d;
对应的包装类:Double。
7、char:
char类型是一个单一的 16 位 Unicode 字符;
最小值是 \u0000(即为0);
最大值是 \uffff(即为65,535);
char 数据类型可以储存任何字符;
对应的包装类:Character。
8、boolean:
boolean数据类型表示一位的信息;
只有两个取值:true 和 false;
这种类型只作为一种标志来记录 true/false 情况;
对应的包装类:Boolean。
扩展资料:
自动类型转换:
指不需要书写代码,由系统自动完成的类型转换。由于实际开发中这样的类型转换很多,所以 Java 语言在设计时,没有为该 *** 作设计语法,而是由 JVM自动完成。
转换规则:从存储范围小的类型到存储范围大的类型。
具体规则为:byte→short(char)→int→long→float→double
也就是说 byte 类型的变量可以自动转换为 short 类型,示例代码:
byte b=10;
short sh=b;
这里在给sh赋值时,JVM首先将b的值转换成short类型然后再赋值给sh。
当然,在类型转换的时候也可以跳跃,就是byte也可以自动转换为int类型的。
注意问题:在整数之间进行类型转换的时候数值不会发生变化,但是当将整数类型特别是比较大的整数类型转换成小数类型的时候,由于存储精度的不同,可能会存在数据精度的损失。
以上就是关于VC:SQL语句里:数据库中是文本类型的变量在VC中用什么类型的值全部的内容,包括:VC:SQL语句里:数据库中是文本类型的变量在VC中用什么类型的值、变量的类型、什么叫数据类型变量的类型定义有什么作用等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)