【问题标题】:Parameterized MySql INSERT query not having right parameters value参数化的 MySql INSERT 查询没有正确的参数值
【发布时间】:2011-07-19 13:52:54
【问题描述】:

我正在尝试使用参数化查询执行基本的插入语句。我的问题是无论我使用什么语法,似乎查询都是在所有参数设置为 null 而不是它们的适当值的情况下完成的(除非我在命令文本中硬编码该值)。

代码如下:

m_Command.CommandText = "INSERT INTO " + s_TracesTabelName + " (DateTimeTraceCreated,
Span, CenterFrequency, Data, DateTimeTestStarted) VALUES (@traceTime, @Span, 
@CenterFrequency, @Data, @testTime)";


//just trying another syntax
MySqlParameter param = m_Command.CreateParameter();
param.MySqlDbType = MySqlDbType.Datetime;
param.ParameterName = "@traceTime";
param.Value = trace.TimeCreated;
m_Command.Parameters.Add(param);

//m_Command.Parameters.Add("@traceTime",MySqlDbType.Datetime,8,"DateTimeTraceCreated");
//m_Command.Parameters["@traceTime"].Value = trace.TimeCreated;
m_Command.Parameters.Add("@Span", trace.Span);
m_Command.Parameters.Add("@CenterFrequency", trace.CenterFrequency);
m_Command.Parameters.Add("@Data", data);
m_Command.Parameters.Add("@testTime", testStarted);

        try 
        {
            m_Connection.Open();
            m_Command.ExecuteNonQuery();
        }
        catch(Exception e)
        {
            Console.WriteLine("Error Connecting to Database\n");
            //errorlog
        }
        finally
        {
            m_Connection.Close();
        }

三种不同的语法将我引向空参数的值。

ps:我见过很多人使用 command.Parameters.AddWithValue() 方法,但我似乎没有它。

亲切的问候, 本

【问题讨论】:

  • 您是否尝试过硬编码值而不是使用参数,如果是,是否有效?

标签: c# mysql mysql-parameter


【解决方案1】:

可能是您的 mysql ADO 提供程序版本吗? C# MySqlParameter problem

尝试使用? 而不是@

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多