我想在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。
答案 0 :(得分:4)
我真的没看到三个参数在哪里。 Parameters.Count
不返回您的过程接收器的参数数量。它返回已添加参数的计数。
你可能想要的是:
cmd.Parameters.Add("@p1", OleDbType.Type1).Value = value1;
cmd.Parameters.Add("@p2", OleDbType.Type2).Value = value2;
Parameters
是参数集合,最初为空。方法Add
,添加参数,Value属性赋值。
请注意,在OleDbConnection
中,参数的顺序很重要,因此您需要事先知道查询中的顺序。