Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 供应商及;质疑_C#_Sql_Generics_Datatable_Provider - Fatal编程技术网

C# 供应商及;质疑

C# 供应商及;质疑,c#,sql,generics,datatable,provider,C#,Sql,Generics,Datatable,Provider,我想创建一个可以创建和填充数据表的C#应用程序 这是我的密码: public DataTable GetData(string query) { DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.OracleClient"); using (DbConnection conn = factory.CreateConnection()) { try

我想创建一个可以创建和填充数据表的C#应用程序

这是我的密码:

public DataTable GetData(string query)
{
    DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.OracleClient");

    using (DbConnection conn = factory.CreateConnection())
    {
        try
        {
            DbConnectionStringBuilder csb = factory.CreateConnectionStringBuilder();
            csb["Data Source"] = @"";
            csb["User Id"] = @"";
            csb["Password"] = @"";

            conn.ConnectionString = csb.ConnectionString;
            conn.Open();

            using (DbCommand cmd = conn.CreateCommand())
            {
                cmd.CommandText = query;

                using (DataTable dt = new DataTable())
                {
                    DbDataAdapter da = factory.CreateDataAdapter();
                    cmd.CommandType = CommandType.Text;
                    da.SelectCommand = cmd;
                    da.Fill(dt);
                    return dt;
                }
            }
        }
        catch (Exception ex)
        {
            throw new Exception("Error", ex);
        }
        finally
        {
            if (conn.State != ConnectionState.Closed)
                conn.Close();
        }
    }
}
第二次,我有一个包含各种查询的类

public class Query
{
    public string SQL;

    public string query1()
    {
        this.SQL = "select * from table1"
        return this.SQL;
    }

    public string query2(string param)
    {
        this.SQL = "select * from table1 where id = '" + param + "' ";
        return this.SQL;
    }
我希望我可以使用query1和/或query2作为方法GetData的参数

public DataTable GetData(query1)
{
    //...
}
但我不知道怎么做! 提前感谢您的帮助

GetData(query1())假设query1字段是字符串。