/// <summary> /// no caching /// </summary> /// <param name="tableName"></param> /// <param name="connectionString"></param> /// <param name="columns"></param> /// <param name="sql"></param> /// <returns></returns> public static DataTable GetTable(string tableName, string connectionString = null, string[] columns = null, string sql = null) { //var hash = DevHash.Get(tableName, connectionString, columns, sql); //string CahedName = tableName + "-adapter"; var _sql = SqlGenerate.GetSimpleSql(tableName, columns, sql); var dt = new DataTable(); using (var connection = new SqlConnection(connectionString)) { using (var adapter = new SqlDataAdapter(_sql, connection)) { adapter.Fill(dt); } } return(dt); }
private void btnGravar_Click(object sender, EventArgs e) { if (dgvTask.Tag == null) { /*String teste; * teste = DateTime.Parse(txtData.Text, new CultureInfo("en-US")).ToString(); * teste = Convert.ToDateTime(txtData.Text).ToString("yyyy/MM/dd");*/ if (dgvTask.Tag == null) { Dictionary <string, object> dataTask = new Dictionary <string, object>(); dataTask.Add("data", dtpData.Value); dgvTask.Tag = SqlConn.ExecuteScalar(SqlGenerate.InsertDataTask(), dataTask); } } for (int i = 0; i < dgvTask.RowCount - 1; i++) { DataGridViewRow r = dgvTask.Rows[i]; int teste = int.Parse(r.Cells["clnId"].Value == null ? "0" : r.Cells["clnId"].Value.ToString()); var task = new DailyTask(int.Parse(r.Cells["clnId"].Value == null?"0":r.Cells["clnId"].Value.ToString()), int.Parse(dtpData.Tag == null ? "0":dtpData.Tag.ToString()), DateTime.Parse(r.Cells["clnData"].Value.ToString()), r.Cells["clnTitulo"].Value.ToString(), Convert.ToDouble(r.Cells["clnHora"].Value, new CultureInfo("en-US")), r.Cells["clnDescricao"].Value.ToString()); Dictionary <string, object> dataTaskDesc = new Dictionary <string, object>(); dataTaskDesc.Add("id", task.Id); dataTaskDesc.Add("idTask", task.IdTask); dataTaskDesc.Add("titulo", task.Titulo); dataTaskDesc.Add("descricao", task.Descricao); dataTaskDesc.Add("hora", task.Hora); if (task.Id == 0) { SqlConn.ExecuteNonQuery(SqlGenerate.InsertDescriptionTask(), dataTaskDesc); } else { SqlConn.ExecuteNonQuery(SqlGenerate.UpdatetDescriptionTask(), dataTaskDesc); } } LimpaCampos(); }
private void dateTimePicker1_ValueChanged(object sender, EventArgs e) { DateTime Date; bool isDate = DateTime.TryParseExact(dtpData.Text, "dd/MM/yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out Date); if (isDate) { DataTable dt = SqlConn.Read(SqlGenerate.SelecttDataTask(dtpData.Text)); if (dt.Rows.Count > 0) { dtpData.Tag = dt.Rows[0][0]; dt = SqlConn.Read(SqlGenerate.SelectTasks(Convert.ToInt32(dtpData.Tag))); // dgvSenhas.DataSource = dt; foreach (DataRow r in dt.Rows) { int index = dgvTask.Rows.Add(); dgvTask.Rows[index].Cells["clnData"].Value = r["Data"].ToString().Replace("-", "/"); dgvTask.Rows[index].Cells["clnTitulo"].Value = r["Titulo"]; dgvTask.Rows[index].Cells["clnHora"].Value = r["Hora"]; dgvTask.Rows[index].Cells["clnDescricao"].Value = r["Descricao"]; dgvTask.Rows[index].Cells["clnIdDesc"].Value = r["id"]; dtpData.Tag = r["IdTask"]; } } else { dgvTask.Rows.Clear(); dtpData.Tag = null; } } else { dtpData.Tag = null; dgvTask.Rows.Clear(); } }
private void btnExcluir_Click(object sender, EventArgs e) { if (dgvTask.SelectedRows.Count > 0) { Dictionary <string, object> dataTaskDesc = new Dictionary <string, object>(); dataTaskDesc.Add("idDesc", Convert.ToInt32(dgvTask.CurrentRow.Cells["clnIdDesc"].Value)); dataTaskDesc.Add("idTask", Convert.ToInt32(dtpData.Tag)); if (dgvTask.CurrentRow.Cells["clnIdDesc"].Value != null) { SqlConn.ExecuteNonQuery(SqlGenerate.DeleteDescription(), dataTaskDesc); } dgvTask.Rows.RemoveAt(dgvTask.CurrentRow.Index); if ((dgvTask.SelectedRows.Count - 1) == 0) //Se não tem mais descrições, deleta task { SqlConn.ExecuteNonQuery(SqlGenerate.DeleteTask(), dataTaskDesc); } } else { MessageBox.Show("Selecione um registro para exclusão."); } }
/// <summary> /// 获取添加左右标记 防止有关键字作为字段名/表名 /// </summary> /// <param name="columnName"></param> /// <param name="sqlGenerate"></param> /// <returns></returns> public static string ParamSql(this string columnName, SqlGenerate sqlGenerate) { return(columnName.ParamSql(sqlGenerate?.DatabaseType)); }