我在VB中用ADO执行SQL动态创建表时,语法如下。
"create table student (xh varchar(16) not NULL,xm varchar(16) not NULL,xb varchar(2) NULL,bj varchar(20) NULL)"创建的student表中bj字段,我本打算是可以为空的。
但ACCESS表的字段为字符型时有另外一个属性:“允许空字符串”。默认为“否”。
使得我的bj字段不能为空,请问怎么更改该属性?
"create table student (xh varchar(16) not NULL,xm varchar(16) not NULL,xb varchar(2) NULL,bj varchar(20) NULL)"创建的student表中bj字段,我本打算是可以为空的。
但ACCESS表的字段为字符型时有另外一个属性:“允许空字符串”。默认为“否”。
使得我的bj字段不能为空,请问怎么更改该属性?
解决方案 »
- 从多个表中选择不同的字段添加到MSHFlexGrid控件中.谢谢!
- vb+access select 查询问题 高手指教
- 请教高手:VB中的combox可不可以像在ACCESS或EXCELL中有相同填充数据的样子啊?是不是需要API函数?
- 在COM编程中,老是说我的对象变量未设置,怎么回事
- 大家快来help me 我快不行了
- 帮忙查个小错误
- 怎样改变datareport的默认的纸张大小为A5呢?
- text绑定adodc的问题
- VB怎样与红外线端口通信?应该怎样办?高分求助.
- 请vb里有没有象c里面的sleep一样的函数
- 请问,如何在Form中,动态加载多个checkbox控件?在线等待.....
- VSFlexGrid控件的列标题怎么可以自动换行?
dim localcon1 As ADODB.Connection
Set localcon1 = New ADODB.Connection
localcon1.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\localdb.mdb;" & "Mode=Share Deny Read|Share Deny Write;Persist Security Info=False;Jet OLEDB:Database Password="
Dim cat As New ADOX.Catalog
Set cat.ActiveConnection = localcon1
cat.Tables.Item("student").Columns("bj").Properties("Jet OLEDB:Allow Zero Length") = True
Set cat = Nothing
localcon1.Close
set localcon1=nothing
cat.Tables.Item("student").Columns("bj").Properties("Jet OLEDB:Allow Zero Length") = True
这句出错 “未找到项目”
dim localcon1 As ADODB.Connection
Set localcon1 = New ADODB.Connection
localcon1.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\localdb.mdb;" & "Mode=Share Deny Read|Share Deny Write;Persist Security Info=False;Jet OLEDB:Database Password=" '加上这两句就行了,原来要先建好表再改属性
sql = "create table student(ID counter PRIMARY KEY,bj varchar(50))"
localcon1.Execute sql Dim cat As New ADOX.Catalog
Set cat.ActiveConnection = localcon1
cat.Tables.Item("student").Columns("bj").Properties("Jet OLEDB:Allow Zero Length") = True
Set cat = Nothing
localcon1.Close
set localcon1=nothing