代码之家  ›  专栏  ›  技术社区  ›  yihang hwang

如何使用c将参数传递到数据集进行查询#

  •  0
  • yihang hwang  · 技术社区  · 6 年前

    我想更改数据集中的SQL语句以添加where查询

    where LogTime between @parameter1 and @parameter2
    

    如何传递参数 DateStr DateEnd @parameter1 @parameter2

    来自c#方法

    DataSet1 ds = new DataSet1();         
    

    我想我们应该使用 DataTable1TableAdapter 从…起 DataSet1

    是否有任何建议的实施方法?

    我们收到了这些查询 DataTable1TableAdapter 已经

    SELECT IPassLog.ParkID, ParkInfo.ParkName, IPassLog.UserID, IPassLog.LogTime, IPassLog.LogInTime, IPassLog.InitBalance,
                    IPassLog.TranAmount, IPassLog.TranBalance, IPassLog.CheckDone, IPassLog.TranSN, IPassLog.PackName, IPassLog.ResultName, IPassLog.SettlementDate,
                    IPass_Result_Hex.Result_Desc, IPass_ErrorCode.Explanation
                    FROM IPassLog INNER JOIN ParkInfo ON IPassLog.ParkID = ParkInfo.ParkID
                    FULL JOIN IPass_Result_Hex ON IPassLog.VerifyResult = IPass_Result_Hex.Result_Hex FULL JOIN IPass_ErrorCode ON IPassLog.VerifyFlag = IPass_ErrorCode.Code;
    

    我想在这些查询中添加where语句

    2 回复  |  直到 6 年前
        1
  •  3
  •   sujith karivelil    6 年前

    您可以使用 SqlDataAdapter 类的构造函数,该构造函数接受SqlCommand作为参数。这样您就可以将参数化命令传递给这个类来创建SqlDataAdapter的实例 我希望您像这样使用:

    string connectionString = "your connection string here";
    string query = "select blah, foo from mytable where LogTime >= @parameter1 and LogTime<= @parameter2";
    DataSet ds = new DataSet();
    using (SqlCommand cmd = new SqlCommand(query, new SqlConnection(connectionString)))
    {
        cmd.Parameters.Add("parameter1", SqlDbType.DateTime).Value = dateInput1;
        cmd.Parameters.Add("parameter2", SqlDbType.DateTime).Value = dateInput2;
        using (SqlDataAdapter adapter = new SqlDataAdapter(cmd)) {
            adapter.Fill(ds);
        }
    }
    
        2
  •  1
  •   Pranay Rana    6 年前

    跟随帖子: Tutorial 1: Creating a Data Access Layer 它讨论了如何处理表适配器查询中的参数。它还提供了相同的代码示例。


    如果可以将参数传递给查询,请创建如下参数

      SqlParameter param= new SqlParameter();
       param.ParameterName = "@parameter1";// Defining Name
       param.SqlDbType = SqlDbType.Int; // Defining DataType
       param.Direction = ParameterDirection.Input; // Setting the direction 
       param.Value = inputvalue;
    

    并将创建的参数添加到命令对象

     // Adding Parameter instances to sqlcommand
       comm.Parameters.Add(param);