【发布时间】:2012-01-18 03:53:12
【问题描述】:
我意识到标题可能很混乱,所以为了解释我想做的事情,我将说明如何在 PHP 中轻松解决同样的问题。
例如我让我的应用程序的用户选择数据库类型(即 MySQL、MSSQL 等)。
在我的代码中,我希望每个操作只有一个函数,而不是每个数据库都有一个函数,如下所述。
不是
main.php
<?php
function mysql_get_users() {
//Foo
}
function mssql_get_users() {
//Foo
}
if($dbtype == "mysql") {
echo mysql_get_users();
}
if($dbtype == "mssql") {
echo mssql_get_users();
}
?>
但是
main.php
<?php
if($dbtype == "mysql") {
include("mysql.php");
}
if($dbtype == "mssql") {
include("mssql.php");
}
echo get_users();
?>
mysql.php
<?php
function get_users() {
//Foo
}
?>
mssql.php
<?php
function get_users() {
//Foo
}
?>
现在我有同样的问题,但在 C# 中使用 Visual Studio 2010。因为我不能这样做:
if(dbtype=="mysql") {
public static MySqlConnection connect(String connectionString)
{
MySqlConnection connection = new MySqlConnection(connectionString);
connection.Open();
return connection;
}
}
上面的最大问题是我不能在方法(函数)周围放置一个 if 子句,那么我必须面对每个数据库类型所特有的类型的问题,事实上我必须在与数据库函数相关的每个方法中包含返回的连接变量。
那么,关于如何解决这个问题并让它像上面的 PHP 示例一样工作有什么想法吗?我既不是 C# 专家也不是新手,但我学得很快。
【问题讨论】:
标签: c# php mysql sql-server methods