如何用VB提取数据库中的内容

个性小资 2004-11-11 01:42:16
我想用VB提取SQL SERVER库中PUBS库中的titles表,的字段名,字段类型,那个字段为主键,是否允许为空,显示名,等等内容,请问如何提取,我想显示在listview控件中
...全文
273 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
wumylove1234 2004-11-16
  • 打赏
  • 举报
回复
哦.这个要去查系统有表了.
个性小资 2004-11-16
  • 打赏
  • 举报
回复
不是,我的意思是说,我如何从数据库中提取出字段的类型及是否为主健
wenhongL 2004-11-16
  • 打赏
  • 举报
回复
从下面系统表中查询出来:
syscolumns,systypes,sysobjects,sysproperties
officecn 2004-11-16
  • 打赏
  • 举报
回复
呵呵,你们回答的意义都不大,我来告诉版主,你执行一个系统存储过程:SP_help 表名
返回的内容很丰富,所有你想知道的表结构信息都有.
lxcc 2004-11-11
  • 打赏
  • 举报
回复
使用TreeView和ListView显示数据库的数据

http://www.21code.com/codebase/?pos=down&id=169
junki 2004-11-11
  • 打赏
  • 举报
回复
Function Add([Index], [Key], [Text], [Icon], [SmallIcon]) As ListItem
MSComctlLib.ListItems的成员
在执行时,新增加一个ListItem对象到ListItems集合上.

Set Itmx = ListView1.ListItems.Add(, , res(2))
'改正:
Set Itmx = ListView1.ListItems.Add(, TP1, "Data1"))
Itmx.SubItems(1) = "Data2"
Itmx.SubItems(2) = "Data3"
个性小资 2004-11-11
  • 打赏
  • 举报
回复
比如读取出来的是:

字段 类型 显示名 主键 外键 必填
title_id string title_id 是 是

这样的形式
白发程序猿 2004-11-11
  • 打赏
  • 举报
回复
Dim rs As New ADODB.Recordset
Dim str As String
Dim fld As ADODB.Field
Dim i As Integer
Dim fldv As String
conn.Open "dsn=sales"
rs.Open "describe user", conn, adOpenStatic, adLockReadOnly
List1.Clear
str = ""
For i = 0 To rs.Fields.Count - 1
str = str & rs.Fields(i).Name & Space(15 - Len(rs.Fields(i).Name))
Next
List1.AddItem str
While Not rs.EOF
str = ""
For Each fld In rs.Fields
If IsNull(fld.Value) Then
l = 0
fldv = "NULL"
Else
l = Len(fld.Value)
fldv = fld.Value
End If
str = str & fldv & Space(15 - l)
Next fld
List1.AddItem str
rs.MoveNext
Wend
rs.Close
Set rs = Nothing
这是我用ado + odbc + mysql写的,你只要把conn.open "dsn=sales"改成你的连接方式,把
rs.Open "describe user", conn, adOpenStatic, adLockReadOnly里describe user改成sql server里语法,user里表名,用你的titles代替.我不知道describe语法在sql server 里是否可用,我想应该是一样的;还有我这里用的是列表框控件,我不会用listview,你自己改吧.
True1024 2004-11-11
  • 打赏
  • 举报
回复
'引用 Microsoft ActiveX Data Objects 2.0 Library
Dim Itmx As ListItem

Dim con As New ADODB.Connection
Dim res As New ADODB.Recordset
con.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=pubs;Data Source=这里写你数据库名"
res.Open "select * from table1", con, 1, 1
If res.RecordCount > 0 Then
'这里设置Listview
ListView1.ColumnHeaders.Add , , "第一项", ListView1.Width / 3
ListView1.ColumnHeaders.Add , , "第二项", ListView1.Width / 3
ListView1.ColumnHeaders.Add , , "第三项", ListView1.Width / 3

Set Itmx = ListView1.ListItems.Add(, , res(2))
Itmx.SubItems(1) = "23"
Itmx.SubItems(2) = "123"

End If

'上面的粘贴乱了,不好意思.
True1024 2004-11-11
  • 打赏
  • 举报
回复
'引用 Microsoft ActiveX Data Objects 2.0 Library
Private Sub Command1_Click()

Dim Itmx As ListItem

Dim con As New ADODB.Connection
Dim res As New ADODB.Recordset
con.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=pubs;Data Source= ListView1.ColumnHeaders.Add , , "第一项", ListView1.Width / 3
ListView1.ColumnHeaders.Add , , "第二项", ListView1.Width / 3
ListView1.ColumnHeaders.Add , , "第三项", ListView1.Width / 3
"
res.Open "select * from table1", con, 1, 1
If res.RecordCount > 0 Then
'这里设置Listview 具体应用看你自己调整了.
ListView1.ColumnHeaders.Add , , "第一项", ListView1.Width / 3
ListView1.ColumnHeaders.Add , , "第二项", ListView1.Width / 3
ListView1.ColumnHeaders.Add , , "第三项", ListView1.Width / 3

Set Itmx = ListView1.ListItems.Add(, , res(2))
Itmx.SubItems(1) = "23"
Itmx.SubItems(2) = "123"

End If

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧