using System; using System.Linq; using System.Text; namespace Easy4net.Variety.SQLite { /// /// SQLite数据库连接参数 /// public class SQLiteConnectionParam { /// /// 数据库连接字符串 /// internal static string ConnectionString { get; private set; } /// /// SQLite数据库路径 /// public string FileName { get; private set; } /// /// SQLite数据库密码 /// public string Password { get; private set; } /// /// 创建一个无密码的SQLite数据库参数 /// /// 数据库文件路径 public SQLiteConnectionParam(string aFile) { this.FileName = aFile; } /// /// 创建一个带密码的SQLite数据库参数 /// /// /// public SQLiteConnectionParam(string aFile, string aPwd) : this(aFile) { this.Password = aPwd; } /// /// 将当前参数设置为全局连接参数 /// public void SetGlobal() { // 更新连接字符串 ConnectionString = GetConnectionString(this); } /// /// 输出当前连接参数字符串 /// /// public override string ToString() { return GetConnectionString(this); } /// /// 根据当前的变量生成链接字符串 /// /// 数据库连接参数 /// 连接字符串 internal static string GetConnectionString(SQLiteConnectionParam aParam) { StringBuilder tmp_sb = new StringBuilder(); tmp_sb.AppendFormat("Data Source='{0}';", aParam.FileName); if (!String.IsNullOrEmpty(aParam.Password)) { tmp_sb.AppendFormat("password={0}", aParam.Password); } return tmp_sb.ToString(); } } }