コード例 #1
0
        public void GenerateInsertStatmentsForDatabase(DatabaseContainer database)
        {
            ISQLGenerator generator = SqlGeneratorFactory.Factory(database.DatabaseType);

            this._database     = database;
            textBoxOutput.Text = generator.GenerateInsertStatmentsForDatabase(this._database);
        }
コード例 #2
0
 private AnmatContext(IVersionService versionService, IDataGenerationJobService jobService, IDocumentReader documentReader, IEnumerable <IDocumentGenerator> documentGenerators,
                      ISQLGenerator sqlGenerator, AnmatConfiguration configuration)
 {
     this.Configuration      = configuration;
     this.VersionService     = versionService;
     this.JobService         = jobService;
     this.DocumentReader     = documentReader;
     this.DocumentGenerators = documentGenerators;
     this.SQLGenerator       = sqlGenerator;
 }
コード例 #3
0
        private string GetDatabaseFileName(AnmatConfiguration configuration, ISQLGenerator sqlGenerator)
        {
            var databaseFileName = Path.Combine(configuration.GetVersionPath(version: version), configuration.TargetDatabaseName + sqlGenerator.FileExtension);

            if (!Directory.Exists(Path.GetDirectoryName(databaseFileName)))
            {
                Directory.CreateDirectory(Path.GetDirectoryName(databaseFileName));
            }

            return(databaseFileName);
        }
コード例 #4
0
        /// <summary>
        /// 从DataSet中设置数据至数据表
        /// </summary>
        /// <param name="ds">DataSet数据集</param>
        /// <returns></returns>
        public string SetDataTblValueFromDataSet(DataSet ds)
        {
            string Tbllist = "";
            string tblName = null;

            try
            {
                //遍历每一个数据表
                foreach (DataTable tbl in ds.Tables)
                {
                    tblName  = tbl.TableName;
                    Tbllist += tbl.TableName + "\n";
                    int rowsnum = tbl.Rows.Count;
                    int colsnum = tbl.Columns.Count;

                    //删除原有数据
                    this.m_handler.ExecuteNonQuery("delete from " + tblName);

                    //判断是否为自增主键
                    Boolean isinsertwithid = this.isInsertWithId(tbl);

                    //循环插入数据
                    for (int i = 0; i < rowsnum; i++)
                    {
                        ISQLGenerator               gen   = m_handler.DbAdapter.GetSQLGenerator();
                        IDataParameter[]            paras = null;
                        Dictionary <String, Object> dic   = new Dictionary <string, object>();

                        //判断是否是自增字段从而确定插入时是否加上主键字段
                        int jstart = (isinsertwithid ? 0 : 1);

                        for (int j = jstart; j < colsnum; j++)
                        {
                            object o = tbl.Rows[i][j];
                            if (o != null && o.ToString().Length > 0)
                            {
                                dic.Add(tbl.Columns[j].ColumnName, tbl.Rows[i][j]);
                            }
                        }
                        string sql = gen.CreateInsertSQL(out paras, tblName, dic);
                        m_handler.ExecuteNonQuery(sql, paras);
                    }
                }
            }
            catch (Exception ee)
            {
                throw new Exception(tblName, ee);
            }
            return(Tbllist);
        }
コード例 #5
0
 public void Generate(DatabaseContainer database, ISQLGenerator generator)
 {
     this._database     = database;
     textBoxOutput.Text = generator.GenerateCreateDatabase(this._database);
 }
コード例 #6
0
ファイル: SessionCache.cs プロジェクト: phospher/SchoolEndORM
 public SessionCache(IPersistenceContext persistenceContext)
 {
     _persistenceContext = persistenceContext;
     _sqlGenerator = new SQLGenerator(_persistenceContext);
 }