⑴ vb中怎样判断ACCESS数据库的字段类型为货币型
分享到:更多前几天在写一个小软件程序的时候,西安SEO,西安网站优化遇到了这么知穗祥一个问题,族唯就是在vb的MSFlexGrid控件中显示值的时候,想把货币类型的字段格式化为9999.00,也就是在钱数的末尾自动补两位的0,那么搭搏想格式化显示,就必须先判断出哪个字段是货币类型的,然后再进行格式化。
⑵ 请教:vb access数据库中的binary类型可存放什么范围怎样
哈哈,难得啊,这种类型确实用的人不多啊,我当时也是被整得很惨,研究了好久才摸到点门道,这里跟你分享下吧。
binary是二进制类型,长度可以定义的,你定义了多少个字节就是就是多少字节;
可以用来放些不太规则的数据,比如5个字节、6个字节的,你找枝袜不到对应的数据类型,但是又不愿意用varchar来存放。实际上基本上binary的都可以改用varchar,除非数据库设计者非得坚持这样子,开发人员也没办法,对吧。
access里怎么创建和选长度我也不知道,直接打开就能看到个ole对象,连内容都看不到,真是晕啊,但是确确实实可以通过编程用create语句创建出来这种字段的。
而且有一点,一旦这个字段类型是binary的,那这个字段就不能作为主键了,access就是这样的,没处说理啊。如果业务要求这个字段又非得是主芦搭物键,那就只好整个表都不建主键了,靠应用程序来保证不会出现主键冲突的情况吧。
写数据库的时候,用个数组就行,像这样
Dim
ckp(8)
As
Byte
ckp(0)
=1
ckp(1)
=&h10
ckp(2)
=0
ckp(3)
=0
......
With
rstTable
.AddNew
......
!mcheckpoint
=
ckp
......
.Update
End
With
读数据库的时候,定义个动态数组,取出来就是了
SQL="select
*
from
mytable"
Rs.Open
SQL,
cn,
adOpenKeyset,
adLockPessimistic
If
Rs.RecordCount
>
0
Then
'查到了
Dim
ckp()
As
Byte
If
IsNull(Rs!mcheckpoint)
Then
ckp
=
Rs!mcheckpoint
Else
ReDim
ckp(8)
End
If
.......
用where语句选择的时候可以用等于号,后面用二进制表示
select
*
from
mytable
where
mCheckPoint
=
0x000000000000000001
如果这样子不行的话,还可以陪液尝试下用like
select
*
from
mytable
where
mCheckPoint
like
0x000000000000000001
祝你好运啦!
⑶ 利用VB对Access数据库增加新字段
首先打开数据源,毁好明然后纤告使用alter table语句即可,具体范例如下:
Setcn=NewADODB.Connection
Setrs=NewADODB.Recordset
constr="DRIVER=MicrosoftAccessDriver(*.mdb);DBQ="&数据库路径及文件名&""
cn.Openconstr
DimstrAsString
str="altertable表名add字段类型"
rs.Openstr,cn,adOpenStatic
msgbox"添袜陪加字段成功",vbokonly
⑷ vb6.0中可以访问的数据库类型有哪些
不同的数据库有不同的类型:主要有:字符串型数值型日期型二进制型等oracle的数据类型:Char(size):定长字符型,字符长度不够自动在右边加空格。Varchar2(size):可变长字符型,大小必须指定。Number(m,n):数据字符型,大小必须指定。 其中m指有效位,n指的是小数位(四舍五入) 有效位:从左边不为0的数字算起,四舍五入。如果有效位大于m报异常。如:123.456(4,2)——>123.46 ;// 报错。 若是number 表示整形 。如 id number ;Date:日期类型。Lob:(large object)大对渗枯裤象,不能直接用insert插入。Blob:二进制大对象,也是以相当于指针的形式存放败差的。采用单字节存储,适合保存二进制数据,如图片,文件等。Clob:字符大对象,存文本。采用多字节存储,适合保存文本数据等。丛简
⑸ VB 数据库写入布尔类型
("UPDATE
"裂枝
&
Bming
&
"
SET
刻印状态=
'"
&
DayinZT
&
"'
ID='轮源租"腊兆
&
ID
&
"'")
改成
("UPDATE
"
&
Bming
&
"
SET
刻印状态=
"
&
DayinZT
&
"
ID='"
&
ID
&
"'")
向数据库中插入BOOL类型数值是不需要引号的
⑹ vb6.0 关于数据库类型查询的问题,数据库里的 发行日期 字段是 日期/时间型,格式是 常规日期
发行日期='#" + list.Text + "#' 区分SQL和ACCESS,在日期上不是一个写法
如果还是不行,办法肯定是有的:
Year(发行日期)='" + year(list.Text) + "' and Month(发行日期)='" + Month(list.Text) + "' and Day(发行日期)='" + Day(list.Text) + "'
日期问题是个很纠结的问题,我建议你用下面的办法,为什么?
SQL上短日期格式是: 2014-10-05
ACCESS短日期格式是:2014-10-5
WIN7上短日期格式是:2014-10-5
WINXP SP1:2014-10-5
WINXP Home:雹乱2014-10-05
MAC OS:稿雹2014-10-05
你看源敬档看,如果是字符串比较,你觉得他们会相同吗
⑺ VB.Net带参执行数据库记录存储语句,遇上字段有不同类型该如何处理
不同的字段可以具有不同的数据类型,只要你输入的数据与字段类型相吻合就可以友败猛啊!
我看了你的代码:通过获得数据表的字段后,进行循环。这里我觉得矛盾,你外面是用数组给以赋值,已经确定了3个数据枯敏。那么再去获得数据表字段个数,有什么意义呢?
再说,一般都是预先知道好桥,数据表的字段个数和字段类型,再进行添加记录的。
⑻ VB+ACCESS如何识别数据库表中的字段类型
使用Type属性判段
⑼ 用VB代码定义Access数据库字段的数据类型
Dim
DAOmydb1
As
Database
Dim
NewTable
As
TableDefPrivate
Sub
Command1_Click()
Set
DAOmydb1
=
Workspaces(0).OpenDatabase("G:\管理系统\数据源\SIEMENS.mdb")
Set
NewTable
=
DAOmydb1.CreateTableDef(Text1.Text)
With
NewTable
.Fields.Append
.CreateField("列1",
1)
.Fields.Append
.CreateField("列2",
2)
.Fields.Append
.CreateField("列3",
3)'一直到
.Fields.Append
.CreateField("列12",
12)
End
With
DAOmydb1.TableDefs.Append
NewTableEnd
Sub
建好表好,你自己打开对照下.哪个是备注,就有了
.Fields.Append
.CreateField("序列号",
dbText,50)
'50是设定长度
⑽ VB-数据库 向表添加字段 自动编号类型 adNumeric
这是我以前写的一带悉消段VB代码
把以下代码贴到一按钮click事件里,运行下。C盘就会生成一个1.mdb数据库,其中id为“自动编号类型”
====================
'需引用MS ADO Ext. for DDL
Dim cat As New ADOX.Catalog
''建数据库
cat.Create "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="蠢知 & "C:\1.mdb"
Dim tbl1 As New Table
Dim idx1 As New ADOX.Index
tbl1.Name = "KType" '字段
Set tbl1.ParentCatalog = cat
tbl1.Columns.Append "ID", adInteger '字段陆猛
tbl1.Columns("ID").Properties("Autoincrement") = True ‘这句该是你要的
tbl1.Columns.Append "KeyType", 202, 20
idx1.Name = "idxFile1"
idx1.Columns.Append "ID"
idx1.PrimaryKey = True
idx1.Unique = True
tbl1.Indexes.Append idx1
cat.Tables.Append tbl1
Set cat = Nothing