Beispiel #1
0
        private void DelTableColumn()
        {
            if (this.gridView1.RowCount > 0 && this.gridView1.FocusedRowHandle >= 0)
            {
                MD_InputModel_SaveTableColumn _col = this.gridView1.GetRow(this.gridView1.FocusedRowHandle) as MD_InputModel_SaveTableColumn;
                List <string> PrimayKeyList        = DAConfig.DataAccess.GetDBPrimayKeyList(this.SaveTable.TableName);
                foreach (string _s in PrimayKeyList)
                {
                    if (_s == _col.DesColumn)
                    {
                        XtraMessageBox.Show("本字段为主键字段,不可删除!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        return;
                    }
                }

                if (DAConfig.DataAccess.DelInputModelTableColumn(this.SaveTable.TableName, _col.DesColumn))
                {
                    ColumnSync();
                    DoSave();
                }
                else
                {
                    XtraMessageBox.Show("删除字段失败!", "系统提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
        }
Beispiel #2
0
 private bool FindInRealTable(MD_InputModel_SaveTableColumn _col, IList <DB_ColumnMeta> _dbColumnList)
 {
     foreach (DB_ColumnMeta _c in _dbColumnList)
     {
         if (_c.ColumnName == _col.SrcColumn)
         {
             return(true);
         }
     }
     return(false);
 }
 private static void GetInputModelSaveTableColumn(MD_InputModel_SaveTable _tb)
 {
     using (SqlConnection cn = SqlHelper.OpenConnection())
     {
         SqlCommand _cmd = new SqlCommand(SQL_GetInputModelSaveTableColumn, cn);
         _cmd.Parameters.Add("@TID", decimal.Parse(_tb.ID)); SqlDataReader _dr = _cmd.ExecuteReader();
         if (_tb.Columns == null)
         {
             _tb.Columns = new List <MD_InputModel_SaveTableColumn>();
         }
         while (_dr.Read())
         {
             MD_InputModel_SaveTableColumn _col = new MD_InputModel_SaveTableColumn(
                 _dr.IsDBNull(0) ? "" : _dr.GetDecimal(0).ToString(),
                 _dr.IsDBNull(1) ? "" : _dr.GetString(1),
                 _dr.IsDBNull(2) ? "" : _dr.GetString(2),
                 _dr.IsDBNull(3) ? "" : _dr.GetString(3),
                 _dr.IsDBNull(4) ? "" : _dr.GetString(4)
                 );
             _tb.Columns.Add(_col);
         }
         _dr.Close();
     }
 }
Beispiel #4
0
        private void UpdateTableData(MD_InputModel_SaveTable _table, MD_InputEntity _entity, SqlConnection cn)
        {
            List <string> _mainKeyList = MetaDataFactory.GetDBPrimayKeyList(_table.TableName);

            StringBuilder _sb = new StringBuilder();

            _sb.Append("update  ");
            _sb.Append(_table.TableName);
            _sb.Append(" set  ");
            string _fg = "";
            //制作更新字段SQL语句
            int _UpdateFieldCount = 0;

            foreach (MD_InputModel_SaveTableColumn _col in _table.Columns)
            {
                if (_col.SrcColumn == "" && _col.Method == "")
                {
                    //如果写入源字段和算法都为空,则此字段不写入
                    continue;
                }
                if (!_mainKeyList.Contains(_col.DesColumn))
                {
                    _UpdateFieldCount++;
                    _sb.Append(_fg);
                    _fg = " , ";
                    _sb.Append(_col.DesColumn);
                    if (_col.SrcColumn == "")
                    {
                        _sb.Append("=");
                        _sb.Append(ConvertVar(_col.Method, _entity));
                    }
                    else
                    {
                        if (_col.Method == "")
                        {
                            _sb.Append("=:");
                            _sb.Append(_col.DesColumn);
                        }
                        else
                        {
                            _sb.Append("=");
                            _sb.Append(string.Format(_col.Method, ConvertVar(_col.Method, _entity)));
                        }
                    }
                }
            }
            if (_UpdateFieldCount < 1)
            {
                //无更新字段,直接返回true;
                return;
            }
            _sb.Append(" where ");
            _fg = "";
            //制作主键字段条件语句
            foreach (string _key in _mainKeyList)
            {
                _sb.Append(_fg);
                _sb.Append(_key);
                _sb.Append(" =:");
                _sb.Append(_key);
                _fg = " and ";
            }

            SqlCommand _cmd = new SqlCommand(_sb.ToString(), cn);

            //添加更新字段参数
            foreach (MD_InputModel_SaveTableColumn _col in _table.Columns)
            {
                string _cname = _col.SrcColumn;
                if (_cname != "")
                {
                    string _data = _entity.InputData.ContainsKey(_cname) ? _entity.InputData[_cname] : null;
                    if (!_mainKeyList.Contains(_col.DesColumn))
                    {
                        _cmd.Parameters.Add(string.Format(":{0}", _col.DesColumn), _data);
                    }
                }
            }
            //添加主键字段参数
            foreach (string _key in _mainKeyList)
            {
                MD_InputModel_SaveTableColumn _kcol = GetColumnByDesName(_key, _table.Columns);
                if (_kcol != null)
                {
                    string _data = _entity.InputData.ContainsKey(_kcol.SrcColumn) ? _entity.InputData[_kcol.SrcColumn] : null;
                    _cmd.Parameters.Add(string.Format(":{0}", _key), _data);
                }
            }
            _cmd.ExecuteNonQuery();
        }