C# 如何在不知道名称/类型的情况下添加SqlParameters?

C# 如何在不知道名称/类型的情况下添加SqlParameters?,c#,.net,ado.net,C#,.net,Ado.net,我正在创建一个DB包装器,需要将SQL参数添加到我的语句中,但是我不知道参数名称或类型,如何才能做到这一点?我见过许多其他图书馆这样做 我只想将值的顺序映射到存储过程…我认为以下代码可以工作: public DataTable ExecuteDataTable(string storedProcName, params object[] args) { SqlCommand cmd = new SqlCommand(storedProcName, conn); cmd.Comma

我正在创建一个DB包装器,需要将SQL参数添加到我的语句中,但是我不知道参数名称或类型,如何才能做到这一点?我见过许多其他图书馆这样做

我只想将值的顺序映射到存储过程…我认为以下代码可以工作:

public DataTable ExecuteDataTable(string storedProcName, params object[] args)
{
    SqlCommand cmd = new SqlCommand(storedProcName, conn);
    cmd.CommandType = CommandType.StoredProcedure;

    // inserting params like this does not work...
    for (int i = 0; i < args.Length; i++)
    {
        cmd.Parameters.Insert(i, args[0]);
    }

    DataTable dt = new DataTable();
    dt.Load(cmd.ExecuteReader());

    return dt;
}
有什么办法可以做到这一点吗?注意:我知道还有其他库,比如企业库,已经在做这件事了,但我的处境是,这对我没有帮助


谢谢。

如果你想让你的代码出现,你代码中的所有符号都必须替换为<或>我没有任何大于/小于符号…链接到另一个stackoverflow帖子不是很有用。