eMi*_*eMi 3 c# generics types class
我有这个代码:
OracleConnection myOracleConnection = new OracleConnection(connectionString);
myOracleConnection.Open();
OracleCommand command = myOracleConnection.CreateCommand();
command.CommandText =
SchemaDifferenceFinder.Model.SQLStatements.MissingTables.DropTable;
command.CommandType = System.Data.CommandType.Text;
command.ExecuteNonQuery();
myOracleConnection.Close();
Run Code Online (Sandbox Code Playgroud)
在第4行,您会找到" MissingTables ".那是一个班级.
这整个代码将重复7次,一切都是一样的,除了这个类的变化,举例:" MissingColumns ".但我不想复制/粘贴整个代码,只是为了取代这些小事.
我能做什么?什么与泛型?如果需要我也可以传递参数等.感谢每一个解决方案!
private static void ExecuteSQL(string SQL)
{
OracleConnection myOracleConnection = new OracleConnection(connectionString);
myOracleConnection.Open();
OracleCommand command = myOracleConnection.CreateCommand();
command.CommandText = SQL;
command.CommandType = System.Data.CommandType.Text;
command.ExecuteNonQuery();
myOracleConnection.Close();
}
Run Code Online (Sandbox Code Playgroud)
然后可以通过以下方式调用:
Helper.ExecuteSQL(SchemaDifferenceFinder.Model.SQLStatements.MissingTables.DropTable);
Run Code Online (Sandbox Code Playgroud)
您不需要泛型 - 只是一个将命令文本作为参数的包装器方法.
private void ExecuteNonQuery(string commandText, string connString)
{
using(OracleConnection myOracleConnection = new OracleConnection(connString))
{
myOracleConnection.Open();
OracleCommand command = myOracleConnection.CreateCommand();
command.CommandText = commandText;
command.CommandType = System.Data.CommandType.Text;
command.ExecuteNonQuery();
}
}
Run Code Online (Sandbox Code Playgroud)
请注意使用该using声明以确保正确处置.
| 归档时间: |
|
| 查看次数: |
400 次 |
| 最近记录: |