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); } }
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); }
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); }
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); } }