方法 | 类型 | 说明 |
Close | 连接 | 关闭当前数据源的连接。 |
Dispose() | 连接 | 注销当前数据源的连接。 |
Open | 连接 | 打开当前数据源的连接。 |
TryConnect | 连接 | 测试数据源是否可以连通。此方法可以指定一个超时时间,如果超时没有正常连接上则认为无法正常连接。不需要按照系统默认的卡死并等几十秒才返回结果。 |
与连接相关的这几个方法中,Open和Close这两个方法很少需要自己显式地调用。这几个方法中只有TryConnect还有使用场景。在测试数据库连接字符串是否可以正常连接。
Vb.Net |
Dim filename As String="D:\abc.db" Dim strConnDB As String= "Data Source = " + filename + ";Pooling=true;FailIfMissing=false" Dim strDbName As String="新增数据源" '先判断当前数据工厂中是否包含此数据源,如果包含此数据源,可以考虑先删除 If Proj.SysDataFactory.Contains(strDbName) Then Proj.SysDataFactory.Delete(strDbName) '删除指定名称的数据源 End If '现在来动态添加数据源 Dim db As Database= Proj.SysDataFactory.Add(strDbName,strConnDB,SourceTypeEnum.SQLite,False) '检测数据源是否可以连接 If db.TryConnect(500) Then '如果超过500毫秒无法连接上就认为连接字符串设置有问题 Proj.MsgDebug.Add("连接成功") Else Proj.MsgDebug.Add("连接失败") End If 'db.Open方法不需要显式地去调用 '为了能够顺利删除文件,要先关闭数据源 db.Close() '删除此数据源 Proj.SysDataFactory.Delete(db.Name) '清除所有连接池。任何活动连接都将被丢弃,而不是在关闭时发送到池。只有这样才可以正常删除此SQLite数据库文件,否则就会提示文件被占用 System.Data.SQLite.SQLiteConnection.ClearAllPools() '删除文件 File.Delete(filename) |
C# |
string filename = @"D:\abc.db"; string strConnDB = "Data Source = " + filename + ";Pooling=true;FailIfMissing=false"; string strDbName = "新增数据源"; // 先判断当前数据工厂中是否包含此数据源,如果包含此数据源,可以考虑先删除 if (Proj.SysDataFactory.Contains(strDbName)) Proj.SysDataFactory.Delete(strDbName);// 删除指定名称的数据源 // 现在来动态添加数据源 Database db = Proj.SysDataFactory.Add(strDbName, strConnDB, SourceTypeEnum.SQLite, false); // 检测数据源是否可以连接 if (db.TryConnect(500)) Proj.MsgDebug.Add("连接成功"); else Proj.MsgDebug.Add("连接失败"); // db.Open方法不需要显式地去调用 // 为了能够顺利删除文件,要先关闭数据源 db.Close(); // 删除此数据源 Proj.SysDataFactory.Delete(db.Name); // 清除所有连接池。任何活动连接都将被丢弃,而不是在关闭时发送到池。只有这样才可以正常删除此SQLite数据库文件,否则就会提示文件被占用 System.Data.SQLite.SQLiteConnection.ClearAllPools(); // 删除文件 File.Delete(filename); |