C# 如何在sql informix子句中使用参数
如何在sql informix子句中使用参数C# 如何在sql informix子句中使用参数,c#,asp.net,sql,informix,parameterized-query,C#,Asp.net,Sql,Informix,Parameterized Query,如何在sql informix子句中使用参数 StringBuilder cmdTxt = new StringBuilder(); cmdTxt.Append(" SELECT COUNT(emp_num) "); cmdTxt.Append(" FROM tbl1 WHERE year IS NULL AND calc_year = ? AND camp IN (,,,)"); using (var myIfxCmd = new IfxCommand(cm
StringBuilder cmdTxt = new StringBuilder();
cmdTxt.Append(" SELECT COUNT(emp_num) ");
cmdTxt.Append(" FROM tbl1 WHERE year IS NULL AND calc_year = ? AND camp IN (,,,)");
using (var myIfxCmd = new IfxCommand(cmdTxt.ToString(), con))
{
myIfxCmd.CommandType = CommandType.Text;
myIfxCmd.Parameters.Add("calc_year", IfxType.Integer);
if (con.State == ConnectionState.Closed)
{
con.Open();
}
myIfxCmd.Parameters[0].Value = calcYear;
res = int.Parse(myIfxCmd.ExecuteScalar().ToString());
}
我不知道如何处理将参数传递到(,,,)中的
camp//数字集
IDbCommand cmd = connection.CreateCommand(); //connection has been instantiated
cmd.CommandTimeout = connection.ConnectionTimeout;
var query = @"SELECT COUNT(emp_num)
FROM tbl1 WHERE year IS NULL AND calc_year = @year AND camp IN ({0})";
cmd.Parameters.Add(new SqlParameter("@year", calcYear));
var sb = new StringBuilder();
//ids is a list/array of ids i want in the in clause
for (int i = 0; i < ids.Count; i++)
{
sb.AppendFormat("@p{0},", i);
cmd.Parameters.Add(new SqlParameter("@p" + i, ids[i]));
}
if (sb.Length > 0) { sb.Length -= 1; }
string cmdText = string.Format(query, sb.ToString());
cmd.CommandText = cmdText;
cmd.Connection = connection;
var reader = cmd.ExecuteReader();
IDbCommand cmd=connection.CreateCommand()//连接已实例化
cmd.CommandTimeout=connection.ConnectionTimeout;
var query=@“选择计数(emp_num)
从tbl1开始,其中year为NULL,calc_year=@year,camp IN({0})”;
cmd.Parameters.Add(新的SqlParameter(“@year”,calcYear));
var sb=新的StringBuilder();
//ids是我希望在in子句中使用的ID的列表/数组
for(int i=0;i0){sb.Length-=1;}
string cmdText=string.Format(query,sb.ToString());
cmd.CommandText=cmdText;
cmd.Connection=连接;
var reader=cmd.ExecuteReader();