在使用freesql给达梦数据库建表和增行的时候,发现建完表后,数据存不进去,后发现是使用上述语句时,全部将列名变成了大写,导致匹配不到,自然存不进去。
尝试过很多方法,如更改配置属性之类的,后都不能实现预期功能,后发现是达梦数据的sql语句默认转为大写,故需要在保持大小的地方,用双引号括起来,就可实现预期功能。
string str = $"CREATE TABLE {task.SaveTable}(";
foreach (var i in task.Result)
{
str += "\""+i.Key+"\"" + " NVARCHAR(100),";
//str += i.Key + " NVARCHAR(100),"; 原语句
}
str = str.Substring(0, str.Length - 1);
str += ");";
sql.Ado.ExecuteNonQuery(@str);