パラメータ化されたクエリを使用して、基本的な挿入ステートメントを実行しようとしています。私の問題は、使用している構文が何であれ、適切な値ではなくすべてのパラメーターを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();
}
3つの異なる構文により、nullパラメーターの値になります。
ps:command.Parameters.AddWithValue()メソッドを使用している人をたくさん見ましたが、持っていないようです。
よろしく、ベン