我对C#和MySQL比较陌生。我的任务是获取记录并更新数据库表条目,其响应ID类似于旧数据库条目&amp ;;新值,因为我需要保留旧值以供将来引用。我有一个包含10个字段的数据库表,而不是编写一个大的if-cluster编码,我想询问是否有一个使用MySQL命令或C#本身的简洁解决方案。 (我已经知道 ON DUPLICATE KEY UPDATE ,但如果不是重复,我只需要更新)提前谢谢。
编辑:好的,我找到了一个可行的解决方案,虽然我确定它不是很漂亮。在我忽略的一切之后插入数据库。
using (MySqlCommand getData = new MySqlCommand("SELECT concat(Caller, 'µ',
Email, 'µ', Category, 'µ', Subcategory, 'µ', INC_Type, 'µ', State, 'µ',
Priority, 'µ', Description) FROM sn_incidents WHERE Number = '" +
data.result[i].number + "'", connection))
{
var getDataResult = ((String)getData.ExecuteScalar()).Split('µ');
for (int j = 0; j < getDataResult.Count(); j++)
{
if (String.Equals(result_Array[j], getDataResult[j])) {
Console.WriteLine("[Logger] String is Equal.");
}
else
{
Console.WriteLine("[Logger] No duplication found for field " +
result_ArrayType[j] + ": " + result_Array[j] + "=/=" + getDataResult[j]);
result_Array[j] = result_Array[j] + " µ " + getDataResult[j];
Console.WriteLine("[Logger] New String of " + result_ArrayType[j]
+ " is now " + result_Array[j]);
}
}
}