2016-06-27 19 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が

Datatable structure

答えて

4

あなたのDBテーブルに列ValidFromDateTime, ValidToDateTimeを持っているように見えますが、INSERT文の中で、あなたの列リストがValidFromDate, ValidToDateを持っているかです。あなたがここに投稿するときにそれが誤字ではないと確信していますか?

+1

Oh my bad!エラーはそれがシンプルだった、ありがとう! –

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);