Ejemplo n.º 1
0
        private void InitKeyColumns(XmlNode xnKeyColumns, PdmKey Key)
        {
            var xe          = (XmlElement)xnKeyColumns;
            var xnKProperty = xe.ChildNodes;

            foreach (var theRef in from XmlNode xnP in xnKProperty select((XmlElement)xnP).GetAttribute("Ref"))
            {
                Key.AddColumnObjCode(theRef);
            }
        }
Ejemplo n.º 2
0
        public static void SaveKeyColumn(SqlConnection conn, SqlCommand cmd, PdmKey pKey, PdmColumn pColumn)
        {
            ArrayList paras = new ArrayList();

            paras.Add(DBUtils.MakeInParam("DBID", SqlDbType.Int, pKey.DBID));
            paras.Add(DBUtils.MakeInParam("TableCode", SqlDbType.NVarChar, 40, pKey.TableCode));
            paras.Add(DBUtils.MakeInParam("KeyCode", SqlDbType.NVarChar, 40, pKey.KeyCode));
            paras.Add(DBUtils.MakeInParam("ColumnCode", SqlDbType.NVarChar, 40, pColumn.ColumnCode));

            DBUtils.ExecuteNonQuery(conn, cmd, CommandType.StoredProcedure, "dbo.P_Save_KeyColumn", paras);
        }
Ejemplo n.º 3
0
        public static void SaveKey(SqlConnection conn, SqlCommand cmd, PdmKey pKey)
        {
            ArrayList paras = new ArrayList();

            paras.Add(DBUtils.MakeInParam("DBID", SqlDbType.Int, pKey.DBID));
            paras.Add(DBUtils.MakeInParam("TableCode", SqlDbType.NVarChar, 40, pKey.TableCode));
            paras.Add(DBUtils.MakeInParam("KeyID", SqlDbType.Int, pKey.KeyID));
            paras.Add(DBUtils.MakeInParam("KeyName", SqlDbType.NVarChar, 40, pKey.KeyName));
            paras.Add(DBUtils.MakeInParam("KeyCode", SqlDbType.NVarChar, 40, pKey.KeyCode));
            paras.Add(DBUtils.MakeInParam("IsPrimary", SqlDbType.Bit, pKey.IsPrimary));

            DBUtils.ExecuteNonQuery(conn, cmd, CommandType.StoredProcedure, "dbo.P_Save_Key", paras);
        }
Ejemplo n.º 4
0
        public static void GetTableByCode(PdmTable pTable, int DBID, string TableCode)
        {
            SqlConnection conn = null;
            SqlCommand    cmd  = null;

            try
            {
                conn = DBUtils.GetConnection();
                cmd  = DBUtils.GetCommand();

                ArrayList paras = new ArrayList();
                paras.Clear();
                paras.Add(DBUtils.MakeInParam("DBID", SqlDbType.Int, DBID));
                paras.Add(DBUtils.MakeInParam("TableCode", SqlDbType.NVarChar, 40, TableCode));

                SqlDataReader reader = DBUtils.ExecuteReader(conn, cmd, CommandType.StoredProcedure, "dbo.P_Get_TableByCode", paras);

                pTable.OnInit();

                if (reader.Read())
                {
                    pTable.OnPopulate(reader);
                }

                reader.Close();

                if (!String.IsNullOrEmpty(pTable.TableCode))
                {
                    reader = DBUtils.ExecuteReader(conn, cmd, CommandType.StoredProcedure, "dbo.P_Get_SetByCode", paras);

                    if (reader.Read())
                    {
                        pTable.TableSet = reader["TableSet"] as string;
                    }
                    else
                    {
                        pTable.TableSet = String.Empty;
                    }

                    reader.Close();

                    reader = DBUtils.ExecuteReader(conn, cmd, CommandType.StoredProcedure, "dbo.P_Get_ColumnByTable", paras);

                    while (reader.Read())
                    {
                        PdmColumn item = new PdmColumn(reader);
                        pTable.AddColumn(item);
                    }

                    reader.Close();

                    reader = DBUtils.ExecuteReader(conn, cmd, CommandType.StoredProcedure, "dbo.P_Get_KeyByTable", paras);

                    while (reader.Read())
                    {
                        PdmKey item = new PdmKey(reader);
                        pTable.AddKey(item);
                    }

                    reader.Close();

                    reader = DBUtils.ExecuteReader(conn, cmd, CommandType.StoredProcedure, "dbo.P_Get_IndexByTable", paras);

                    while (reader.Read())
                    {
                        PdmIndex item = new PdmIndex(reader);
                        pTable.AddIndex(item);
                    }

                    reader.Close();

                    foreach (PdmKey pKey in pTable.Keys)
                    {
                        paras.Clear();
                        paras.Add(DBUtils.MakeInParam("DBID", SqlDbType.Int, DBID));
                        paras.Add(DBUtils.MakeInParam("TableCode", SqlDbType.NVarChar, 40, pTable.TableCode));
                        paras.Add(DBUtils.MakeInParam("KeyCode", SqlDbType.NVarChar, 40, pKey.KeyCode));

                        reader = DBUtils.ExecuteReader(conn, cmd, CommandType.StoredProcedure, "dbo.P_Get_ColumnByKey", paras);

                        while (reader.Read())
                        {
                            foreach (PdmColumn pColumn in pTable.Columns)
                            {
                                if (pColumn.ColumnCode == reader["ColumnCode"].ToString())
                                {
                                    pKey.AddColumn(pColumn);
                                    break;
                                }
                            }
                        }

                        reader.Close();
                    }

                    foreach (PdmIndex pIndex in pTable.Indexs)
                    {
                        paras.Clear();
                        paras.Add(DBUtils.MakeInParam("DBID", SqlDbType.Int, DBID));
                        paras.Add(DBUtils.MakeInParam("TableCode", SqlDbType.NVarChar, 40, pTable.TableCode));
                        paras.Add(DBUtils.MakeInParam("IndexCode", SqlDbType.NVarChar, 40, pIndex.IndexCode));

                        reader = DBUtils.ExecuteReader(conn, cmd, CommandType.StoredProcedure, "dbo.P_Get_ColumnByIndex", paras);

                        while (reader.Read())
                        {
                            foreach (PdmColumn pColumn in pTable.Columns)
                            {
                                if (pColumn.ColumnCode == reader["ColumnCode"].ToString())
                                {
                                    pIndex.AddColumn(pColumn);
                                    break;
                                }
                            }
                        }

                        reader.Close();
                    }
                }
            }
            catch { throw; }
            finally
            {
                DBUtils.SetDispose(conn, cmd);
            }
        }