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

时间:2008-10-03 21:02:23

标签: c# .net ado.net

我正在创建一个数据库包装器,并且我需要在我的stament中添加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;
}

有关如何实现这一目标的任何想法?注意:我知道还有其他库,例如企业库已经这样做了,但是我处于这样的情况,这对我们没有帮助......

感谢。

1 个答案:

答案 0 :(得分:0)