按用户输入的日期选择

时间:2011-08-09 09:07:38

标签: mysql sql

大家好。我使用以下查询来运行sql语句。它工作正常。我想知道如何修改查询以通过用户在ASP.NET中输入的日期进行选择。这意味着我需要修改部件:

WHERE TRANSACTION_DATE = '02-AUG-2006'

请问任何想法?感谢您的帮助

我正在使用

INSERT INTO TRANSACTION (TRX_UNIT, TRX_DATE, TRX_USR)
SELECT SOURCE_SYSTEM_CHANNEL_CODE, TRANSACTION_DATE, USER_CODE
FROM FCR_TRANSACTION
WHERE TRANSACTION_DATE = '02-AUG-2006'

3 个答案:

答案 0 :(得分:6)

怎么样:

// Create a connection object and data adapter
MySqlConnection cnx = new MySqlConnection(connectionString);

// Create a SQL command object
string cmdText = "INSERT INTO TRANSACTION (TRX_UNIT, TRX, TRX_USR) ";
cmdText += "SELECT SOURCE_SYSTEM_CHANNEL_CODE, TRANSACTION_DATE, USER_CODE ";
cmdText += "FROM FCR_TRANSACTION ";
cmdText += "WHERE TRANSACTION_DATE = @TransactionDate";

MySqlCommand cmd = new MySqlCommand(cmdText, cnx);
cmd .Parameters.Add("@TransactionDate", YourDate); // <-- Insert date here
// Set the command type to text
cmd.CommandType = CommandType.Text;
cmd.ExecuteNonQuery();

答案 1 :(得分:0)

您必须拥有用户输入日期的日期字段的名称。让我们说你决定把它命名为'datename' 之后,$ _POST(“datename”)返回在字段中输入的文本。 所以现在WHERE语句变为

WHERE TRANSACTION_DATE = '$_POST("datename")'

如果不起作用,请尝试

WHERE TRANSACTION_DATE = $_POST("datename")

所有这一切都假设您将表单传输方法保留为POST ....如果您将其作为GET,只需将$ _POST替换为$ _GET此处..

这应该有效。如果没有,我道歉。

答案 2 :(得分:0)

如果您确实想要按确切日期查询,则必须验证Userinput,并添加参数 查询(这只是伪代码):

        string userInput = txtDate.Text;
        DateTime parsedDate;
        if (DateTime.TryParse(userInput, out parsedDate)) {
             // valid date, add a Parameter to your command
            var cmd = ... // create your DB Command here
            cmd.CommandText = "SELECT .... WHERE Transaction_Date = @txDate";
            cmd .Parameters.Add("@txDate", parsedDate); 
            // execute your command ...
        }