コード例 #1
0
ファイル: HashOrmAccesser.cs プロジェクト: tw0r2/wms_rfid
        public void Insert(IHashEntity entity, bool PkeyIsIdentity)
        {
            SqlFactory sql = new SqlFactory(entity.TableName, SqlType.INSERT);

            Hashtable htalbe = entity.PropertySet;

            foreach (string colName in entity.ColNames)
            {
                if (!PkeyIsIdentity || colName != entity.PKeyName)
                {
                    if (htalbe[colName] != null)
                    {
                        switch (SqlFactory.GetColType(htalbe[colName].GetType()))
                        {
                        case 1:
                            sql.AppendQuote(colName, htalbe[colName]);
                            break;

                        case 2:
                            sql.Append(colName, htalbe[colName]);
                            break;

                        default:
                            sql.Append(colName, htalbe[colName]);
                            break;
                        }
                    }
                }
            }

            ExecuteNonQuery(sql.CreateSQL());
        }
コード例 #2
0
ファイル: SqlFactory.cs プロジェクト: tw0r2/wms_rfid
        public static string CreateSqlToUpdate(IHashEntity entity)
        {
            Hashtable htalbe = entity.PropertySet;

            if (htalbe[entity.PKeyName] == null)
            {
                throw new Exception("实体没有主键不能用此方法更新");
            }

            SqlFactory sql = new SqlFactory(entity.TableName, SqlType.UPDATE);

            foreach (string colName in entity.ColNames)
            {
                if (colName != entity.PKeyName && htalbe[colName] != System.DBNull.Value && htalbe[colName] != null)
                {
                    switch (SqlFactory.GetColType(htalbe[colName].GetType()))
                    {
                    case 1:
                        sql.AppendQuote(colName, htalbe[colName]);
                        break;

                    case 2:
                        sql.Append(colName, htalbe[colName]);
                        break;

                    default:
                        sql.Append(colName, htalbe[colName]);
                        break;
                    }
                }
            }

            switch (SqlFactory.GetColType(htalbe[entity.PKeyName].GetType()))
            {
            case 1:
                sql.AppendWhereQuote(entity.PKeyName, htalbe[entity.PKeyName]);
                break;

            case 2:
                sql.AppendWhere(entity.PKeyName, htalbe[entity.PKeyName]);
                break;

            default:
                sql.AppendWhere(entity.PKeyName, htalbe[entity.PKeyName]);
                break;
            }
            return(sql.CreateSQL());
        }