Set cat = New ADOX.Catalog方法新建数据库时,如何替换已有数据库?问题1:   我用的是这种方法创建的数据库,可是在保存输入文件名时,要是输入已存在的名字却不能替换.会执行到"1"外,然后跳出到"2"处.现在我不知道用什么方法即能创建不存在的数据库又能在创建时替换已有的数据库? 
问题2:   如何替换数据成功,那么内部的数据表也能替换吗?怎么替换? 
请各位高手指点,先谢过了! Private Sub Command1_Click() 
Set cat = New ADOX.Catalog 
Set conn = New ADODB.Connection 
Set rs = New ADODB.Recordset 
CommonDialog1.CancelError = True 
On Error GoTo ErrHandler     Dim fm As String 'fm变量用来获取用户输入的文件名 
    'i = 5 
    CommonDialog1.Filter = "MDB文件(*.mdb) ¦*.mdb ¦AllFiles(*.*) ¦*.* ¦" 
    CommonDialog1.FilterIndex = 1 
    CommonDialog1.InitDir = "E:Jthpaper" 
    CommonDialog1.Flags = &H2 
    CommonDialog1.Action = 2 
     
    fm = CommonDialog1.FileName 
    If fm = "" Then 
   MsgBox "你必须输入一个文件名,请重新保存一次!" 
   Exit Sub 
    Else 
    'fm = CommonDialog1.FileName 
     
    pstr = "Provider=Microsoft.Jet.OLEDB.4.0;"   
    pstr = pstr & "Data Source=" & fm 
    'MsgBox pstr 
    cat.Create pstr    '创建数据库 -----位置"1" 
     
    Dim tbl As New Table 
    cat.ActiveConnection = pstr 
    tbl.Name = "MyTable" '表的名称 
    tbl.Columns.Append "日期时间", adVarWChar, 20 '表的第一个字段adInteger 
    tbl.Columns.Append "流速", adVarWChar, 8 '表的第二个字段 
    tbl.Columns.Append "住址", adVarWChar, 50 '表的第三个字段 
    cat.Tables.Append tbl '建立数据表 
    conn.Open pstr 
    rs.CursorLocation = adUseClient 
    rs.Open "MyTable", conn, adOpenKeyset, adLockPessimistic 
    rs.AddNew '往表中添加新记录 
    rs.Fields(0).Value = "2008-04-04 09:03:03" 
    rs.Fields(1).Value = "812.3456" 
    rs.Fields(2).Value = "第一站" 
    rs.Update 
 End If 
 Exit Sub 
ErrHandler:'位置"2" 
' 用户按了“取消”按钮 
 MsgBox "你按下了取消键!" 
Exit Sub

解决方案 »

  1.   

    我是这么判断的,不知道严谨不
            public bool getConnect()
            {
                OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=ParlleManagement.mdb");
                try
                {
                    conn.Open();
                    //if (conn.State.ToString() == "Open")
                        return true;
                    //else
                    //  return true;
                }
                catch (Exception ) {
                    return false;
                    //throw ex; 
                }
                finally 
                {
                    conn.Dispose();
                }
            }