⑴ 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