2016-06-27 66 views
0

我試圖使用Visual Studio插入新值到我的數據庫將數據插入到數據庫和這裏的時候是我的代碼:「無效列名」嘗試使用SQL

SqlCommand cmd = new SqlCommand(); 

SqlConnection conn = new SqlConnection(); 
conn.ConnectionString = dbconnectionstring; 
conn.Open(); 

cmd.Connection = conn; 
cmd.CommandText = "INSERT INTO Data_ConfigInfo (TypeID, Name, ValidFromDate, ValidToDate, ValidFromSOP, ValidToSOP, Description)" + 
        "VALUES(@TypeID, @Name, @ValidFromDateTime, @ValidToDateTime, @ValidFromSOP, @ValidToSOP, @Description)"; 

cmd.Parameters.AddWithValue("TypeID", Logg.TypeID); 
cmd.Parameters.AddWithValue("Name", Logg.Name); 

if(Logg.ValidFrom.Equals(null)) { 
    cmd.Parameters.AddWithValue("@ValidFromDateTime", DBNull.Value); 
} 
else 
{ 
    cmd.Parameters.AddWithValue("@ValidFromDateTime", Logg.ValidFrom); 
} 

if (Logg.ValidTo.Equals(null)) 
{ 
    cmd.Parameters.AddWithValue("@ValidToDateTime", DBNull.Value); 
} 
else 
{ 
    cmd.Parameters.AddWithValue("@ValidToDateTime", Logg.ValidFrom); 
} 

cmd.Parameters.AddWithValue("@ValidFromSOP", Logg.ValidFromSOP); 
cmd.Parameters.AddWithValue("@ValidToSOP", Logg.ValidToSOP); 
cmd.Parameters.AddWithValue("@Description", Logg.Description); 

cmd.ExecuteNonQuery(); 
conn.close(); 
conn.dispose(); 

但在該行

cmd.ExecuteNonQuery(); 

我得到的錯誤

無效的列名ValidToDateTime和ValidFromDateTime。

兩者都是日期時間變量。我似乎無法找到錯誤。有任何想法嗎?

這是我的數據表的外觀

Datatable structure

回答

4

你的數據庫表中的列ValidFromDateTime, ValidToDateTime,但在INSERT聲明你的列清單有ValidFromDate, ValidToDate。在這裏發帖時,你確定它不是一個錯字嗎?

+1

哦,我的壞!錯誤很簡單,謝謝! –

1

你忘了'@'嗎?

cmd.Parameters.AddWithValue("TypeID", Logg.TypeID); 
cmd.Parameters.AddWithValue("Name", Logg.Name); 

cmd.Parameters.AddWithValue("@TypeID", Logg.TypeID); 
cmd.Parameters.AddWithValue("@Name", Logg.Name);