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
问题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
解决方案 »
- Do While循环
- VB记录数据问题....请各位支招..呵呵..谢谢..
- vb求一段实时显示鼠标在显示屏位置的代码(不用timer控件的)
- 请教VB从SQL导出EXCEL中遇到的单元格式问题
- ※※ 大家来看看这样的处理方法行不行?※※
- 如何在两个进程间(application),用post的方式交换string信息?
- 请教关于VB里面Data Report的用法?
- 如果我想把文件存到指定目录应该怎么办呢?谢谢
- vb 中listview 控件的第一列怎么显示出小图标。
- 求助 VB6 WebBrowser怎样获取 id="J_VolCat_???"的???
- 异地数据库连接
- VB如何处理由C语言编写的dll返回的数组
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();
}
}