public static void SaveIndexColumn(SqlConnection conn, SqlCommand cmd, PdmIndex pIndex, PdmColumn pColumn) { ArrayList paras = new ArrayList(); paras.Add(DBUtils.MakeInParam("DBID", SqlDbType.Int, pIndex.DBID)); paras.Add(DBUtils.MakeInParam("TableCode", SqlDbType.NVarChar, 40, pIndex.TableCode)); paras.Add(DBUtils.MakeInParam("IndexCode", SqlDbType.NVarChar, 40, pIndex.IndexCode)); paras.Add(DBUtils.MakeInParam("ColumnCode", SqlDbType.NVarChar, 40, pColumn.ColumnCode)); DBUtils.ExecuteNonQuery(conn, cmd, CommandType.StoredProcedure, "dbo.P_Save_IndexColumn", 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); } }