void GetData() { caopanel = Screen.PrimaryScreen.Bounds.Height - 80;//Caopanel = chieu cao cua man hinh-80 dstree = DBEngine.execReturnDataTable("LoadCompanyTree", "@LoginID", 3); //Dem so cap cong ty int levelcount = ((from DataRow dr in dstree.Rows select Convert.ToInt32(dr["ControlLevel"])).Distinct().ToList()).Count(); if (120 * levelcount > caopanel)//Neu do phan giai man hinh qua thap se lay chieu cao 1 cap bang 120 { caomotcap = 120; } else//nguoc lai lay chieu cao mot cap bang caopanel/so cap { caomotcap = caopanel / levelcount; } LevelMax = ((from DataRow dr in dstree.Rows select Convert.ToInt32(dr["ControlLevel"])).Distinct().ToList()).Last(); }
private void MakeUpdateQuery(DataRow dr, string TableName) { DataTable m_dtPrimaryKeys = DBEngine.execReturnDataTable("sp_TableEditor_GetPrimaryKeys", "@Tablename", TableName); SqlConnection CN = new SqlConnection(DBEngine.ConnectionString); string strRetVal = ""; string query = string.Format("Update {0} set ", TableName); string strSet = ""; string strWhere = " where "; bool isKeys = false; for (int i = 0; i < dr.Table.Columns.Count; i++) { //Loai bo keys foreach (DataRow drPri in m_dtPrimaryKeys.Rows) { if (drPri[0].ToString().Equals(dr.Table.Columns[i].Caption)) { isKeys = true; break; } } if (isKeys) { isKeys = false; continue; } //update only column belong to original table not belong to view if (isColumnOfTable(dr.Table.Columns[i].Caption, TableName)) { if (dr[dr.Table.Columns[i].Caption, DataRowVersion.Original].ToString() != dr[dr.Table.Columns[i].Caption].ToString()) { strSet += String.Format("[{0}] = @{0},", dr.Table.Columns[i].Caption); } } } if (strSet.Length > 1) { isNoUpdate = false; strSet = strSet.Substring(0, strSet.Length - 1) + " "; } else { isNoUpdate = true; return; } // Where statement foreach (DataRow drPri in m_dtPrimaryKeys.Rows) { strWhere += String.Format("[{0}] = @{0} and ", drPri[0]); } strWhere = strWhere.Substring(0, strWhere.Length - 4); strRetVal = query + strSet + strWhere; SqlCommand SqlCom = new SqlCommand(strRetVal, CN); for (int i = 0; i < dr.Table.Columns.Count; i++) { if (isColumnOfTable(dr.Table.Columns[i].Caption, TableName)) { if (dr[dr.Table.Columns[i].Caption, DataRowVersion.Original].ToString() != dr[dr.Table.Columns[i].Caption].ToString() || m_dtPrimaryKeys.Select(string.Format("Name = '{0}'", dr.Table.Columns[i].Caption)).Length > 0) { SqlParameter paramAdd = new SqlParameter("@" + dr.Table.Columns[i].Caption, dr[i]); switch (dr.Table.Columns[i].DataType.Name.ToLower()) { case "image": case "byte[]": case "varbinary": case "binary": paramAdd.DbType = DbType.Binary; break; default: break; } //strValues += "N'" + getValidValue(dr, i) + "',";//;dr[i].ToString() SqlCom.Parameters.Add(paramAdd); } } } CN.Open(); SqlCom.ExecuteNonQuery(); CN.Close(); }