Пакет pROC
включает функцию coords
для вычисления наилучшего порога:
library(pROC)
my_roc <- roc(my_response, my_predictor)
coords(my_roc, "best", ret = "threshold")
Это очень просто:
DataTable t = _conn.GetSchema("Tables");
где _conn
- это объект SqlConnection, который уже был подключен к правильной базе данных.
Просто еще одно решение:
public IList<string> ListTables()
{
List<string> tables = new List<string>();
DataTable dt = _connection.GetSchema("Tables");
foreach (DataRow row in dt.Rows)
{
string tablename = (string)row[2];
tables.Add(tablename);
}
return tables;
}
Я использую это ExtensionMethod
для SqlConnection
:
public static List<string> GetTableNames(this SqlConnection connection)
{
using(SqlConnection conn = connection)
{
if(conn.State == ConnectionState.Open)
{
return conn.GetSchema("Tables").AsEnumerable().Select(s => s[2].ToString()).ToList();
}
}
//Add some error-handling instead !
return new List<string>();
}
Моя версия ответа yonexbat
public System.Collections.Generic.Dictionary<string, string> GetAllTables(System.Data.SqlClient.SqlConnection _connection)
{
if (_connection.State == System.Data.ConnectionState.Closed)
_connection.Open();
System.Data.DataTable dt = _connection.GetSchema("Tables");
System.Collections.Generic.Dictionary<string, string> tables = new System.Collections.Generic.Dictionary<string, string>();
foreach (System.Data.DataRow row in dt.Rows)
{
if (row[3].ToString().Equals("BASE TABLE", StringComparison.OrdinalIgnoreCase)) //ignore views
{
string tableName = row[2].ToString();
string schema = row[1].ToString();
tables.Add(tableName, schema);
}
}
_connection.Close();
return tables;
}
Запустите команду sql для:
SELECT name FROM sysobjects WHERE xtype = 'U'
Если вы хотите получить все имена таблиц из базы данных, вы можете сделать что-то вроде этого:
string[] GetAllTables(SqlConnection connection)
{
List<string> result = new List<string>();
SqlCommand cmd = new SqlCommand("SELECT name FROM sys.Tables", connection);
System.Data.SqlClient.SqlDataReader reader = cmd.ExecuteReader();
while(reader.Read())
result.Add(reader["name"].ToString());
return result.ToArray();
}
Получить все базы данных с помощью другого ответа и создать соединение с каждой из них и использовать функцию «GetAllTables» чтобы получить все имена таблиц из этой базы данных.
См. Как получить список баз данных SQL Server одним способом:
System.Data.SqlClient.SqlConnection SqlCon = new System.Data.SqlClient.SqlConnection("server=192.168.0.1;uid=sa;pwd=1234");
SqlCon.Open();
System.Data.SqlClient.SqlCommand SqlCom = new System.Data.SqlClient.SqlCommand();
SqlCom.Connection = SqlCon;
SqlCom.CommandType = CommandType.StoredProcedure;
SqlCom.CommandText = "sp_databases";
System.Data.SqlClient.SqlDataReader SqlDR;
SqlDR = SqlCom.ExecuteReader();
while(SqlDR.Read())
{
MessageBox.Show(SqlDR.GetString(0));
}