我有一個動態的方法來插入SQL。當我在參數上放置一個空值或空值時,我的ExecuteNonQuery()
失敗...如何調整它?SqlCeParameter null
我使用SQL Server精簡版:
public static void SqlInsert(string table, Dictionary<string, object> values)
{
using (var conn = new SqlCeConnection(ConnectionStringDestino))
{
conn.Open();
var equals = new List<string>();
var columns = new List<string>();
var parameters = new List<SqlCeParameter>();
var i = 0;
foreach (var item in values)
{
var pn = "@sp" + i;
columns.Add(string.Format(item.Key));
equals.Add(string.Format("{0}", pn));
parameters.Add(new SqlCeParameter(pn, item.Value));
i++;
}
string command = string.Format("INSERT INTO {0} ({1}) VALUES ({2}) ", table, string.Join(", ", columns.ToArray()), string.Join(", ", equals.ToArray()));
var sqlcommand = new SqlCeCommand(command, conn);
sqlcommand.Parameters.AddRange(parameters.ToArray());
sqlcommand.ExecuteNonQuery();
}
}
列是否無效?生成的SQL看起來像什麼? –
我的列接受空值。 – Pedro
你會得到什麼樣的錯誤? –