各位大侠:
    小女最近要用VB编写一个比较简单的档案管理软件,只需要实现档案的插入、查询、修改、删除功能就可以,其中查询需要有简单的模糊查询,关键字查询即可。现在碰到的问题是:只要安装这个软件的程序就能使用,无需像SQL Server一样安装数据库软件才能使用。那应该是用VB+?去编写呢?

解决方案 »

  1.   

    用VB+Access呀,或者用SQL Server也没关系,直接用MSDE来做,他是SQL Server的桌面版,可以跟随VB工程一起打包安装的。还可以用VB+FoxPor的数据库,都是比较简单方便的东西。
      

  2.   

    直接用ACCESS做数据库做开发...连安装都不用了
      

  3.   

    呵呵……谢谢大家了!你们太好了!
    可是如果我自己要使用ACCESS数据库的时候,是不是还要安装ACCESS程序?
      

  4.   

    你自己要看Access还是得安装Access的
    除非拷到已安装Access的机器上
      

  5.   

    其实windows自带的ado驱动有不少
    首先你的目标定在xp以上机器,不用装软件直接可以使用
    然后找找一个干净的xp机器上有哪些ado驱动
    再用vb自带的数据库工具建表,使用该数据库。
    这样xp以上机器均可以不安装数据库软件的情况下使用ado
    使用ado就能使用sql
      

  6.   

    那到哪里可以看得到ADO驱动呢?
      

  7.   

    示例:
    保存为窗体文件,并引用Microsoft DAO 3.6 Object Library
    VERSION 5.00
    Begin VB.Form Form1 
       Caption         =   "Form1"
       ClientHeight    =   3090
       ClientLeft      =   60
       ClientTop       =   450
       ClientWidth     =   5400
       BeginProperty Font 
          Name            =   "宋体"
          Size            =   9
          Charset         =   134
          Weight          =   700
          Underline       =   0   'False
          Italic          =   0   'False
          Strikethrough   =   0   'False
       EndProperty
       LinkTopic       =   "Form1"
       ScaleHeight     =   3090
       ScaleWidth      =   5400
       StartUpPosition =   3  '窗口缺省
       Begin VB.CommandButton Cancel_Key 
          Caption         =   "取消"
          Height          =   375
          Left            =   4440
          TabIndex        =   19
          Top             =   2040
          Width           =   855
       End
       Begin VB.CommandButton Save_Key 
          Caption         =   "保存"
          Height          =   375
          Left            =   4440
          TabIndex        =   18
          Top             =   1560
          Width           =   855
       End
       Begin VB.CommandButton Delete_Key 
          Caption         =   "删除"
          Height          =   375
          Left            =   4440
          TabIndex        =   17
          Top             =   1080
          Width           =   855
       End
       Begin VB.CommandButton Update_Key 
          Caption         =   "刷新"
          Height          =   375
          Left            =   4440
          TabIndex        =   16
          Top             =   600
          Width           =   855
       End
       Begin VB.CommandButton Add_Key 
          Caption         =   "添加"
          Height          =   375
          Left            =   4440
          TabIndex        =   15
          Top             =   120
          Width           =   855
       End
       Begin VB.CommandButton FindByName_Key 
          Caption         =   "按姓名查询"
          Height          =   495
          Left            =   3120
          TabIndex        =   14
          Top             =   1920
          Width           =   1215
       End
       Begin VB.CommandButton Move_Last 
          Caption         =   ">>"
          BeginProperty Font 
             Name            =   "宋体"
             Size            =   12
             Charset         =   134
             Weight          =   700
             Underline       =   0   'False
             Italic          =   0   'False
             Strikethrough   =   0   'False
          EndProperty
          Height          =   495
          Left            =   2280
          TabIndex        =   13
          Top             =   1920
          Width           =   735
       End
       Begin VB.CommandButton Move_Next 
          Caption         =   ">"
          BeginProperty Font 
             Name            =   "宋体"
             Size            =   12
             Charset         =   134
             Weight          =   700
             Underline       =   0   'False
             Italic          =   0   'False
             Strikethrough   =   0   'False
          EndProperty
          Height          =   495
          Left            =   1560
          TabIndex        =   12
          Top             =   1920
          Width           =   735
       End
       Begin VB.CommandButton Move_Pre 
          Caption         =   "<"
          BeginProperty Font 
             Name            =   "宋体"
             Size            =   12
             Charset         =   134
             Weight          =   700
             Underline       =   0   'False
             Italic          =   0   'False
             Strikethrough   =   0   'False
          EndProperty
          Height          =   495
          Left            =   840
          TabIndex        =   11
          Top             =   1920
          Width           =   735
       End
       Begin VB.CommandButton Move_First 
          Caption         =   "<<"
          BeginProperty Font 
             Name            =   "宋体"
             Size            =   12
             Charset         =   134
             Weight          =   700
             Underline       =   0   'False
             Italic          =   0   'False
             Strikethrough   =   0   'False
          EndProperty
          Height          =   495
          Left            =   120
          TabIndex        =   10
          Top             =   1920
          Width           =   735
       End
       Begin VB.TextBox Text1 
          BeginProperty Font 
             Name            =   "宋体"
             Size            =   9
             Charset         =   134
             Weight          =   400
             Underline       =   0   'False
             Italic          =   0   'False
             Strikethrough   =   0   'False
          EndProperty
          Height          =   375
          Index           =   1
          Left            =   2880
          TabIndex        =   4
          Text            =   "Text1"
          Top             =   240
          Width           =   1095
       End
       Begin VB.TextBox Text1 
          BeginProperty Font 
             Name            =   "宋体"
             Size            =   9
             Charset         =   134
             Weight          =   400
             Underline       =   0   'False
             Italic          =   0   'False
             Strikethrough   =   0   'False
          EndProperty
          Height          =   375
          Index           =   2
          Left            =   2880
          TabIndex        =   3
          Text            =   "Text1"
          Top             =   720
          Width           =   1095
       End
       Begin VB.TextBox Text1 
          BeginProperty Font 
             Name            =   "宋体"
             Size            =   9
             Charset         =   134
             Weight          =   400
             Underline       =   0   'False
             Italic          =   0   'False
             Strikethrough   =   0   'False
          EndProperty
          Height          =   375
          Index           =   3
          Left            =   840
          TabIndex        =   2
          Text            =   "Text1"
          Top             =   720
          Width           =   1095
       End
       Begin VB.TextBox Text1 
          BeginProperty Font 
             Name            =   "宋体"
             Size            =   9
             Charset         =   134
             Weight          =   400
             Underline       =   0   'False
             Italic          =   0   'False
             Strikethrough   =   0   'False
          EndProperty
          Height          =   375
          Index           =   4
          Left            =   1440
          TabIndex        =   1
          Text            =   "Text1"
          Top             =   1320
          Width           =   2295
       End
       Begin VB.TextBox Text1 
          BeginProperty Font 
             Name            =   "宋体"
             Size            =   9
             Charset         =   134
             Weight          =   400
             Underline       =   0   'False
             Italic          =   0   'False
             Strikethrough   =   0   'False
          EndProperty
          Height          =   375
          Index           =   0
          Left            =   840
          TabIndex        =   0
          Text            =   "Text1"
          Top             =   240
          Width           =   1095
       End
       Begin VB.Label Label1 
          Caption         =   "出生年月"
          BeginProperty Font 
             Name            =   "楷体_GB2312"
             Size            =   14.25
             Charset         =   134
             Weight          =   400
             Underline       =   0   'False
             Italic          =   0   'False
             Strikethrough   =   0   'False
          EndProperty
          Height          =   375
          Index           =   4
          Left            =   120
          TabIndex        =   9
          Top             =   1320
          Width           =   1215
       End
       Begin VB.Label Label1 
          Caption         =   "班级"
          BeginProperty Font 
             Name            =   "楷体_GB2312"
             Size            =   14.25
             Charset         =   134
             Weight          =   400
             Underline       =   0   'False
             Italic          =   0   'False
             Strikethrough   =   0   'False
          EndProperty
          Height          =   375
          Index           =   3
          Left            =   120
          TabIndex        =   8
          Top             =   720
          Width           =   1095
       End
       Begin VB.Label Label1 
          Caption         =   "性别"
          BeginProperty Font 
             Name            =   "楷体_GB2312"
             Size            =   14.25
             Charset         =   134
             Weight          =   400
             Underline       =   0   'False
             Italic          =   0   'False
             Strikethrough   =   0   'False
          EndProperty
          Height          =   375
          Index           =   2
          Left            =   2160
          TabIndex        =   7
          Top             =   720
          Width           =   1095
       End
       Begin VB.Label Label1 
          Caption         =   "姓名"
          BeginProperty Font 
             Name            =   "楷体_GB2312"
             Size            =   14.25
             Charset         =   134
             Weight          =   400
             Underline       =   0   'False
             Italic          =   0   'False
             Strikethrough   =   0   'False
          EndProperty
          Height          =   375
          Index           =   1
          Left            =   2160
          TabIndex        =   6
          Top             =   240
          Width           =   1095
       End
       Begin VB.Label Label1 
          Caption         =   "学号"
          BeginProperty Font 
             Name            =   "楷体_GB2312"
             Size            =   14.25
             Charset         =   134
             Weight          =   400
             Underline       =   0   'False
             Italic          =   0   'False
             Strikethrough   =   0   'False
          EndProperty
          Height          =   375
          Index           =   0
          Left            =   120
          TabIndex        =   5
          Top             =   240
          Width           =   1095
       End
    End
      

  8.   

    未完,继续.
    Attribute VB_Name = "Form1"
    Attribute VB_GlobalNameSpace = False
    Attribute VB_Creatable = False
    Attribute VB_PredeclaredId = True
    Attribute VB_Exposed = False
    Dim DB As Database
    Dim RS As Recordset
    Dim j%
    Dim i%
    Dim Err%
    Dim DoEctype As Boolean
    Option Explicit
    Sub Form_Unload(Cancel As Integer)
    RS.Close
    DB.Close
    End Sub
    Private Sub Add_Key_Click()
      RS.AddNew
      Call KeyStatus1
      CleanFields
      Text1(0).SetFocus
    End SubPrivate Sub Cancel_Key_Click()
      RS.UpdateControls '还是CancelUpdate
      KeyStatus2
      ShowFields
    End SubPrivate Sub Delete_Key_Click()
      Dim Result As Integer
      Result = MsgBox("删除该记录吗?", vbOKCancel, "提示")
        If Result = vbOK Then
          RS.Delete
          RS.MoveNext
          If RS.EOF Then RS.MoveLast
          ShowFields
        End If
    End SubPrivate Sub FindByName_Key_Click()
      Dim FindName As String
      Dim FindStr As String
      Dim CurRecord As Variant
      FindName = InputBox("请输入要查找的学生姓名:", "查找学生记录")
      If FindName <> "" Then
        CurRecord = RS.book
        FindStr = "[Sname] Like " & "'" & FindName & "'"
        RS.FindFirst FindStr
          If RS.NoMatch Then RS.book = CurRecord
      End If
      ShowFields
    End SubPrivate Sub Form_Load()
    Set DB = OpenDatabase("d:\demo.mdb")
    Set RS = DB.OpenRecordset("student", dbOpenDynaset)
    RS.MoveFirst
    ShowFields  Call KeyStatus2
      Err = 0
    End SubPrivate Sub Move_First_Click()
      RS.MoveFirst
      ShowFields
    End SubPrivate Sub Move_Last_Click()
      RS.MoveLast
      ShowFields
    End SubPrivate Sub Move_Next_Click()
      RS.MoveNext
      If RS.EOF Then RS.MoveLast
      ShowFields
    End SubPrivate Sub Move_Pre_Click()
      RS.MovePrevious
      If RS.BOF Then RS.MoveFirst
      ShowFields
    End SubPrivate Sub Save_Key_Click()
      FillFields
      RS.Update
      KeyStatus2
      ShowFields
    End SubPrivate Sub Text1_GotFocus(Index As Integer)
      Text1(Index).SelStart = 0
      Text1(Index).SelLength = Len(Text1(Index).Text)
    End SubPrivate Sub Text1_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
      If KeyCode = 13 Then
        If Index = 4 Then
          Text1(0).SetFocus
        Else
          Text1(Index + 1).SetFocus
        End If
      End If
    End SubPublic Sub Text1_LostFocus(Index As Integer)      Select Case Index
            Case 0
              If IsNumeric(Text1(0).Text) Then
                Text1(Index).ForeColor = &H80000008
                Form1.Caption = ""
              Else
                Text1(Index).ForeColor = &HFF&
              End If
            Case 2
              If (Text1(2).Text = "男" Or Text1(2).Text = "女") Then
                Text1(Index).ForeColor = &H80000008
                Form1.Caption = ""
              Else
                Text1(Index).ForeColor = &HFF&
              End If
            Case 1
              If ((Len(Text1(1).Text) = 2) Or (Len(Text1(1).Text) = 3) Or (Len(Text1(1).Text) = 4)) Then
                Text1(Index).ForeColor = &H80000008
                Form1.Caption = ""
              Else
                Text1(Index).ForeColor = &HFF&
              End If
            Case 3
              If (Text1(3).Text = "通讯1" Or Text1(3).Text = "通讯2") Then
                Text1(Index).ForeColor = &H80000008
                Form1.Caption = ""
              Else
                Text1(Index).ForeColor = &HFF&
              End If
            Case 4
              If IsDate(Text1(4).Text) Then
                Text1(Index).ForeColor = &H80000008
                Form1.Caption = ""
              Else
                Text1(Index).ForeColor = &HFF&
              End If
            End Select
        Call CheckFields
    End SubPrivate Sub Update_Key_Click()
      RS.Edit
      Call KeyStatus2
    End SubPrivate Sub KeyStatus1()
      Move_First.Enabled = False
      Move_Pre.Enabled = False
      Move_Next.Enabled = False
      Move_Last.Enabled = False
      Add_Key.Enabled = False
      Delete_Key.Enabled = False
      Update_Key.Enabled = False
      FindByName_Key.Enabled = False
      Save_Key.Enabled = True
      Cancel_Key.Enabled = True
    End SubPrivate Sub KeyStatus2()
      Move_First.Enabled = True
      Move_Pre.Enabled = True
      Move_Next.Enabled = True
      Move_Last.Enabled = True
      Add_Key.Enabled = True
      Delete_Key.Enabled = True
      Update_Key.Enabled = True
      FindByName_Key.Enabled = True
      Save_Key.Enabled = False
      Cancel_Key.Enabled = False
    End SubSub FillFields()
    RS.Fields("sno") = Text1(0).Text
    RS.Fields("sname") = Text1(1).Text
    RS.Fields("ssex") = Text1(2).Text
    RS.Fields("sclass") = Text1(3).Text
    RS.Fields("syear") = Text1(4).Text
    End SubSub ShowFields()
    Text1(0).Text = RS.Fields("sno")
    Text1(1).Text = RS.Fields("sname")
    Text1(2).Text = RS.Fields("ssex")
    Text1(3).Text = RS.Fields("sclass")
    Text1(4).Text = RS.Fields("syear")
    Call CheckFields
    End SubSub CleanFields()
    Text1(0).Text = ""
    Text1(1).Text = ""
    Text1(2).Text = ""
    Text1(3).Text = ""
    Text1(4).Text = ""
    End SubSub CheckFields()
      Err = 0
      
      For i = 0 To 4 Step 1
        Call Ectype_Text1_LostFocus(i)
         If Not Text1(i).Text = "" Then
           If Text1(i).ForeColor = &HFF Then Err = Err + 1
         End If
       Next i
       DoEctype = False
        
       If Err = 0 Then
       
         Call KeyStatus2
       Else
         Call KeyStatus1
         Save_Key.Enabled = False
         Delete_Key.Enabled = True
         Update_Key.Enabled = True
         Form1.Caption = Err & " 个无效输入,请更正!"
       End If
    End Sub
      

  9.   

    用文本,每一行作为一条记录,各字段用","分隔,即可dim fs,f '定义
       Set fs = CreateObject("Scripting.FileSystemObject")   ’创建实例'write 文件 
        Set f = fs.OpenTextFile(App.Path & "\XXX.txt", 8, True)
            f.WriteLine "a,b,c,d"
        f.close 'read 文件        Set f = fs.OpenTextFile(App.Path & "\XXX.txt", 1, True)
            Temp1 = f.ReadLine'然后在用split将temp1临时字符串拆分即可
      

  10.   

      是Split(字符串,分隔符)
    Dim TmpA() as stringTmpA=Split("A,B,C,C,E",",")
    For i=0 to ubound(tmpa)-1
      msgbox tmpa(i),,"System Mesage"
    next i
      

  11.   

    数据量不大真的可以用TXT来记录 
      

  12.   

    用ACCESS呵,一般电脑都有安装呵,简单又好用。
      

  13.   

    ACCESS,客户机无须安装ACCESS一样是可以用的
      

  14.   

    ACCESS么。例子好多的。又简单。ACCESS是OFFICE下面的东西么。真是的。不过那些什么TXT如果可以实现更好。就是不知道具体例子如何做。呵呵。 我是不会了。问各位高人吧。
      

  15.   

    sqlite是一种轻量级的数据库,百度一下。