1

我想在 C# 中运行一个插入查询,它有多个参数。我只想拥有一个for loop, 以便它遍历所有参数并为该参数分配一个值。

查询在访问数据库中。

    public static bool SubmitData(string queryName)
    {
        OleDbConnection conn = new OleDbConnection(cnnString);
        OleDbCommand cmd = new OleDbCommand(queryName, conn);
        OleDbDataAdapter da = new OleDbDataAdapter();

        DataSet ds = new DataSet();

        string strParameterName;

        conn.Open();
        cmd = new OleDbCommand(queryName, conn);

        cmd.Connection = conn;
        cmd.CommandType = CommandType.StoredProcedure;
        cmd.CommandText = queryName;

        for (int i = 0; i < cmd.Parameters.Count; i++)
        {

        }

        conn = null;
        return true;

    }

上面的示例有 3 个参数,但计数为 0。

4

1 回答 1

4

我真的看不到三个参数在哪里。 Parameters.Count 返回您的过程接收器的参数数量。它返回已添加参数的计数。


你可能想要的是:

cmd.Parameters.Add("@p1", OleDbType.Type1).Value = value1;
cmd.Parameters.Add("@p2", OleDbType.Type2).Value = value2;

Parameters是参数集合,最初为空。方法Add,添加参数,Value 属性为其赋值。

请注意,在 中OleDbConnection,参数的顺序很重要,因此您需要事先知道查询中的顺序。

于 2013-03-05T02:31:09.557 回答