mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-06-19 20:38:16 +08:00
- 增加 IAdo.ExecuteConnectTest 快速判断连接是否可用 #113;
This commit is contained in:
@ -95,6 +95,27 @@ namespace FreeSql.Internal.CommonProvider
|
||||
var props = tb?.Properties ?? type.GetPropertiesDictIgnoreCase();
|
||||
return props;
|
||||
}
|
||||
|
||||
public bool ExecuteConnectTest()
|
||||
{
|
||||
try
|
||||
{
|
||||
switch (DataType)
|
||||
{
|
||||
case DataType.Oracle:
|
||||
case DataType.OdbcOracle:
|
||||
ExecuteNonQuery(" SELECT 1 FROM dual");
|
||||
return true;
|
||||
}
|
||||
ExecuteNonQuery(" SELECT 1");
|
||||
return true;
|
||||
}
|
||||
catch
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public List<T> Query<T>(string cmdText, object parms = null) => Query<T>(null, null, null, CommandType.Text, cmdText, GetDbParamtersByObject(cmdText, parms));
|
||||
public List<T> Query<T>(DbTransaction transaction, string cmdText, object parms = null) => Query<T>(null, null, transaction, CommandType.Text, cmdText, GetDbParamtersByObject(cmdText, parms));
|
||||
public List<T> Query<T>(DbConnection connection, DbTransaction transaction, string cmdText, object parms = null) => Query<T>(null, connection, transaction, CommandType.Text, cmdText, GetDbParamtersByObject(cmdText, parms));
|
||||
|
@ -14,6 +14,26 @@ namespace FreeSql.Internal.CommonProvider
|
||||
{
|
||||
partial class AdoProvider
|
||||
{
|
||||
async public Task<bool> ExecuteConnectTestAsync()
|
||||
{
|
||||
try
|
||||
{
|
||||
switch (DataType)
|
||||
{
|
||||
case DataType.Oracle:
|
||||
case DataType.OdbcOracle:
|
||||
await ExecuteNonQueryAsync(" SELECT 1 FROM dual");
|
||||
return true;
|
||||
}
|
||||
await ExecuteNonQueryAsync(" SELECT 1");
|
||||
return true;
|
||||
}
|
||||
catch
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public Task<List<T>> QueryAsync<T>(string cmdText, object parms = null) => QueryAsync<T>(null, null, null, CommandType.Text, cmdText, GetDbParamtersByObject(cmdText, parms));
|
||||
public Task<List<T>> QueryAsync<T>(DbTransaction transaction, string cmdText, object parms = null) => QueryAsync<T>(null, null, transaction, CommandType.Text, cmdText, GetDbParamtersByObject(cmdText, parms));
|
||||
public Task<List<T>> QueryAsync<T>(DbConnection connection, DbTransaction transaction, string cmdText, object parms = null) => QueryAsync<T>(null, connection, transaction, CommandType.Text, cmdText, GetDbParamtersByObject(cmdText, parms));
|
||||
|
Reference in New Issue
Block a user