public sealed override bool CreateDatabase(BaseLoginInfo loginInfo) { LoginInfo_SSCE myInfo = loginInfo as LoginInfo_SSCE; bool result = false; string createTabelCommand = string.Empty; //Use "" for filter Special Chars createTabelCommand = string.Format("DataSource=\"{0}\"", myInfo.DbName); if (!string.IsNullOrEmpty(myInfo.Pwd)) { createTabelCommand = string.Format("{0} ;Password={1}", createTabelCommand, myInfo.Pwd); } else { createTabelCommand = string.Format("{0} ;Password=''", createTabelCommand, myInfo.Pwd); } createTabelCommand = string.Format("{0} ;Encrypt={1}", createTabelCommand, myInfo.IsEncrypted); //Add Case Sensitive Support //This feautre only support after SqlCE3.5 Sp1 if (myInfo.IsCaseSensitive) { createTabelCommand = createTabelCommand + ";Case Sensitive=true"; } try { SqlCeEngine eg = new SqlCeEngine(createTabelCommand); eg.CreateDatabase(); result = true; } catch (Exception ce) { throw ce; } return(result); }
private CoreEA.ICoreEAHander CreateHandler(UIElement curElement) { CoreEA.ICoreEAHander tempHandler = null; ISrcControl srcControl = (ISrcControl)curElement; try { #region Source Control Handler if (curElement.GetType() == typeof(SelectSourceDbFile_OleDB)) { SelectSourceDbFile_OleDB curUI = curElement as SelectSourceDbFile_OleDB; switch (curUI.CurrentDbType) { case UsingOleDbType.Excel: tempHandler = new CoreEA.CoreE(CoreEA.CoreE.UsedDatabaseType.Excel).X_Handler; tempHandler.Open((LoginInfo_Excel)srcControl.X_Result); break; case UsingOleDbType.Access: tempHandler = new CoreEA.CoreE(CoreEA.CoreE.UsedDatabaseType.OleDb).X_Handler; tempHandler.Open((LoginInfo_Oledb)srcControl.X_Result); break; case UsingOleDbType.CSV: tempHandler = new CoreEA.CoreE(CoreEA.CoreE.UsedDatabaseType.CSV).X_Handler; tempHandler.Open((LoginInfo_CSV)srcControl.X_Result); break; } } else if (curElement.GetType() == typeof(SelectSqlServerSource)) { tempHandler = new CoreEA.CoreE(CoreEA.CoreE.UsedDatabaseType.SqlServer).X_Handler; tempHandler.Open((LoginInfo_SqlServer)srcControl.X_Result); } else if (curElement.GetType() == typeof(SelectMySqlSource)) { tempHandler = new CoreEA.CoreE(CoreEA.CoreE.UsedDatabaseType.MySql).X_Handler; tempHandler.Open((LoginInfo_MySql)srcControl.X_Result); } else if (curElement.GetType() == typeof(SelectSqlite3DbFile)) { tempHandler = new CoreEA.CoreE(CoreEA.CoreE.UsedDatabaseType.Sqlite).X_Handler; tempHandler.Open((LoginInfo_Sqlite)srcControl.X_Result); } else if (curElement.GetType() == typeof(SelectSSCEFile)) { tempHandler = new CoreEA.CoreE(CoreEA.CoreE.UsedDatabaseType.SqlCE35).X_Handler; tempHandler.Open((LoginInfo_SSCE)srcControl.X_Result); } else if (curElement.GetType() == typeof(SelectEffiproz)) { tempHandler = new CoreEA.CoreE(CoreEA.CoreE.UsedDatabaseType.Effiproz).X_Handler; tempHandler.Open((LoginInfo_Effiproz)srcControl.X_Result); } #endregion #region TargetControlHandler //Here the type is the class name of TargetUI else if (curElement.GetType() == typeof(SelectTargetDb_SqlCe)) { tempHandler = new CoreEA.CoreE(CoreEA.CoreE.UsedDatabaseType.SqlCE35).X_Handler; LoginInfo_SSCE ceInfo = srcControl.X_Result as LoginInfo_SSCE; ceInfo.MaxDbSize = 3000; tempHandler.Open(ceInfo); } else if (curElement.GetType() == typeof(SelectSqlServerTarget)) { tempHandler = new CoreEA.CoreE(CoreEA.CoreE.UsedDatabaseType.SqlServer).X_Handler; tempHandler.Open((LoginInfo_SqlServer)srcControl.X_Result); } else if (curElement.GetType() == typeof(SelectTargetSqliteDB)) { tempHandler = new CoreEA.CoreE(CoreEA.CoreE.UsedDatabaseType.Sqlite).X_Handler; tempHandler.Open((LoginInfo_Sqlite)srcControl.X_Result); } else if (curElement.GetType() == typeof(SelectTargetMySql)) { tempHandler = new CoreEA.CoreE(CoreEA.CoreE.UsedDatabaseType.MySql).X_Handler; tempHandler.Open((LoginInfo_MySql)srcControl.X_Result); } else if (curElement.GetType() == typeof(SelectTargetCSVFile)) { tempHandler = new CoreEA.CoreE(CoreEA.CoreE.UsedDatabaseType.CSV).X_Handler; LoginInfo_CSV tempLogInfo = srcControl.X_Result as LoginInfo_CSV; tempLogInfo.Database += "1.csv"; tempHandler.Open(tempLogInfo); } #endregion } catch (Exception ee) { ee.HandleMyException(); } Debug.Assert(tempHandler != null, "Handler can't be null"); return(tempHandler); }
public sealed override void Open(BaseLoginInfo pInfo) { //Record to base class (Vital) baseLoginInfo = pInfo; LoginInfo_SSCE myInfo = pInfo as LoginInfo_SSCE; LoginInfo_ForAllDbTypes allInfo = pInfo as LoginInfo_ForAllDbTypes; if ((myInfo == null) && (allInfo == null)) { throw new ArgumentException("Only Support SSCE login info and AllDBTypes Info"); } if (IsOpened) { return; } string myConnString = string.Empty; try { if (allInfo != null) { myInfo = new LoginInfo_SSCE(); myInfo.DbName = allInfo.Database; myInfo.Pwd = allInfo.Pwd; myInfo.IsEncrypted = allInfo.IsEncrypt; } OpenModeClass op = new OpenModeClass(); op.mode = myInfo.CurOpenMode; switch (myInfo.CurOpenMode) { case OpenMode.ReadWrite: op.modeDisplayName = "Read Write"; break; case OpenMode.ReadOnly: op.modeDisplayName = "Read Only"; break; case OpenMode.Exclusive: op.modeDisplayName = "Exclusive"; break; case OpenMode.SharedRead: op.modeDisplayName = "Shared Read"; break; default: op.modeDisplayName = "Read Write"; break; } if (myInfo.MaxBufferSize == 0) { myInfo.MaxBufferSize = 1024; } if (myInfo.MaxDbSize == 0) { myInfo.MaxDbSize = 4000; } myConnString = DbConnectionString.SSCE.GetSSCEConnectionString( myInfo.DbName, myInfo.Pwd, myInfo.IsEncrypted, op, myInfo.MaxDbSize, myInfo.MaxBufferSize); baseConn = new SqlCeConnection(myConnString); baseConn.Open(); CurDatabase = myInfo.DbName; CurPwd = myInfo.Pwd; invalidator = new InvalidatorForSqlCe(); } catch (Exception e) { throw e; } }