public DataTable GetDate() { string ReadQuery = $@"select {string.Join(",", Fileds.Select(x => x.InternalName))} from {TableName}"; SqlConnection conn = new SqlConnection(ConnectionString); SqlCommand cmd = new SqlCommand(ReadQuery, conn); conn.Open(); // create data adapter SqlDataAdapter da = new SqlDataAdapter(cmd); DataTable Result = new DataTable(); da.Fill(Result); conn.Close(); da.Dispose(); return(Result); }
public int Insert(DataTable _dt, List <ColumnAssignment> ColumnAssignments) { SqlConnection conn = new SqlConnection(ConnectionString); SqlCommand cmd = new SqlCommand($@"insert into {TableName} ({string.Join(",", ColumnAssignments.Select(x => x.ToColumn.InternalName))}) values (@{string.Join(",@", ColumnAssignments.Select(x => x.ToColumn.InternalName))})", conn); conn.Open(); int Result = 0; foreach (DataRow r in _dt.Rows) { foreach (var ColumnAssignment in ColumnAssignments) { object value = r[ColumnAssignment.FromColumn.InternalName]; IColumn column = Fileds.Where(x => x.InternalName == ColumnAssignment.ToColumn.InternalName).FirstOrDefault(); if (column.WriteDataPipeline != null) { value = column.WriteDataPipeline.ApplayOperator(value); } if (!cmd.Parameters.Contains("@" + ColumnAssignment.ToColumn.InternalName)) { cmd.Parameters.Add("@" + ColumnAssignment.ToColumn.InternalName, SqlDbType.Text); } cmd.Parameters["@" + ColumnAssignment.ToColumn.InternalName].Value = value; } Result += cmd.ExecuteNonQuery(); } conn.Close(); sanitisation?.Apply(); return(Result); }