2011-03-21 27 views
0

我想要做一個基本的插入語句使用參數化查詢。我的問題是無論我使用的語法如何查詢所有參數設置爲null而不是其適當的值(除非我在命令文本中硬編碼值),似乎查詢正在完成。參數化的MySql插入查詢沒有正確的參數值

下面是代碼:

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()方法有很多人,但我似乎只是沒有它。

親切的問候, 本

+0

你試過硬編碼值,而不是使用參數,如果是,它的工作? – 2011-03-21 10:33:50

回答