У меня есть приложение, которое позволяет моему пользователю запускать запросы по базе данных по их выбору. База данных может быть либо SQL-сервером, либо Oracle. этот метод принимает два параметра из другого класса, первым параметром является строка подключения к базе данных, которую пользователь выбирает, а второй - тип базы данных. эта часть работает нормально. то, что я пытаюсь сделать, - это сократить код, который мне нужно написать, и не вводить запрос и материал соединения снова и снова. поэтому я хотел бы сделать что-то подобное. Очевидно, что это не будет работать, но я открыт для большинства решений.Динамически выбирайте базу данных SQL Server или Oracle
public void createTable(string connectstring, string rdbms)
{
if (rdbms == "oracle")
{
con = new OracleConnection(connectionString);
con.Open();
OracleCommand query = con.CreateCommand();
}
else if (rdbms == "SQL Server")
{
con = new SqlConnection(connectionString);
con.Open();
SqlCommand query = con.CreateCommand();
}
else
{
// broke
}
query.CommandText = "CREATE TABLE " + RndName +
" (Col0 Varchar(10),Col1 Varchar(10), Col2 Varchar(10))";
query.ExecuteNonQuery();
con.Close();
executeInsertTransactions(connectstring);
}
'* Connection' * должен * реализовать [' IDbConnection'] (http://msdn.microsoft.com/en-us/library/system.data.common.dbconnection.aspx) и также, ' * Command' * должен * реализовать ['IDbCommand'] (http://msdn.microsoft.com/en-us/library/system.data.idbcommand.aspx). (Тем не менее, существует определенная спецификация DB, но для * простого * случая с использованием интерфейсов, так как это должно быть в порядке.) – user2246674