使用:
using var con = new SQLiteConnection(Connection);//Connection为数据库地址
RenameColumn(con, 表名称, 旧的字段名称, 新的字段名称);
实现:
/// <summary>
/// 查看表中是否有某个字段 没有则返回false
/// </summary>
/// <param name="tableName">表名</param>
/// <param name="fieldName">字段名</param>
/// <param name="connection"></param>
/// <returns></returns>
public bool IsFieldExists(string tableName, string fieldName, SQLiteConnection connection)
{
try
{
string query = $"PRAGMA table_info({tableName})";
var columns = connection.Query<dynamic>(query);
foreach (var column in columns)
{
if (column.name.Equals(fieldName, StringComparison.OrdinalIgnoreCase))
{
return true;
}
}
}
catch (Exception ex)
{
LogHelper.GetSingleObj().WriteLog(ex);
}
return false;
}
/// <summary>
/// 重命名字段名称
/// </summary>
/// <param name="connection"></param>
/// <param name="tableName"></param>
/// <param name="oldColumnName"></param>
/// <param name="newColumnName"></param>
public void RenameColumn(SQLiteConnection connection, string tableName, string oldColumnName, string newColumnName)
{
try
{
if (IsFieldExists(tableName, oldColumnName, connection))
{
string sql = $"ALTER TABLE {tableName} RENAME COLUMN {oldColumnName} TO {newColumnName}";
connection.Execute(sql);
}
}
catch (Exception ex)
{
LogHelper.GetSingleObj().WriteLog(ex);
}
}
4091

被折叠的 条评论
为什么被折叠?



