|
problem
|
|
|
mssql - compare
two datetime
Mssql, compare two datetime fields, if their values are close, if are in 24h difference and do on --- > dennis |
|
|
difficulty level
|
|
|
1/10 :)))
|
|
|
compatibility
|
|
|
mssql
|
|
|
solution
|
|
|
In mssql, the
datetime fields are actually numeric with decimals. The integer part in the
“days”. So if you want to compare two dates compare the integer part as
bellow
-- compare if the item is sold 24h before the item is modified Select * from items Where ModificationDate<SaleDate-1 -- find person(s) that born on 12/11/2010 (not exactly on the same, with at least 12 hours difference) Select * from persons Where birthdate-0.5>=’2010-12-11’ and birthdate+0.5<=’2010-12-11’ |
|
Developing with CSharp many time you feel a strange feeling... then feeling of lost and how to solve it. Fortunately MSDN has done a good work to help the developers. .net offers thousand ways to do several things! This is the worst thing… because, you do not know where to start from and what works in real world! I hope to help you with your CSharpache.
Thursday, 24 November 2011
mssql - compare two datetime fields
Wednesday, 2 November 2011
MSSQL - how to copy tables and data
|
problem
|
|
|
MSSQL - how to copy
- How to copy a table’s structure to another database? - How to create a table with the same structure (fields) on the - How to copy the data of the table to another table? |
|
|
difficulty level
|
|
|
4/10 :)
|
|
|
compatibility
|
|
|
general
|
|
|
solution
|
|
|
How to copy a table’s
structure to another database?
The follow code, not only copy’s the structure but also copies and the records of it. You may filter the data applying a “where” as I do here. --Do like: SELECT * INTO [TargetDatabase].[dbo].[MyTable] FROM [SourceDatabase].[dbo].[MyTable] where [SourceDatabase].[dbo].[MyTable].CustomerCode='01'; -- where is optional How to create a table with the same structure (fields) on the same database? (Like you did previously!) --Do like: SELECT * INTO MyNewTable FROM MySourceTable where MySourceTable.CustomerCode='01'; -- where is optional How to copy the data of the table to another table? --Syntax: INSERT INTO TargetTable( <field list> ) SELECT <field list> FROM SourceTable --Do like: INSERT INTO NewCustomers ( Company, Branch, Name ) SELECT Company, Branch, Name FROM Customers Where Branch=’01’; -- where is optional |
|
Monday, 17 October 2011
String Format for DateTime [C#]
This example shows how to format DateTime
using String.Format
method. All formatting can be done also using DateTime.ToString
method.
Following examples demonstrate how are the format specifiers rewritten to the output.
[C#]
Custom DateTime Formatting
There are following custom format specifiersy (year),
M (month), d (day), h (hour 12),
H (hour 24), m (minute), s (second),
f (second fraction), F (second fraction, trailing
zeroes are trimmed), t (P.M or A.M) and z
(time zone).Following examples demonstrate how are the format specifiers rewritten to the output.
[C#]
// create date time 2008-03-09 16:05:07.123 DateTime dt = new DateTime(2008, 3, 9, 16, 5, 7, 123); String.Format("{0:y yy yyy yyyy}", dt); // "8 08 008 2008" year String.Format("{0:M MM MMM MMMM}", dt); // "3 03 Mar March" month String.Format("{0:d dd ddd dddd}", dt); // "9 09 Sun Sunday" day String.Format("{0:h hh H HH}", dt); // "4 04 16 16" hour 12/24 String.Format("{0:m mm}", dt); // "5 05" minute String.Format("{0:s ss}", dt); // "7 07" second String.Format("{0:f ff fff ffff}", dt); // "1 12 123 1230" sec.fraction String.Format("{0:F FF FFF FFFF}", dt); // "1 12 123 123" without zeroes String.Format("{0:t tt}", dt); // "P PM" A.M. or P.M. String.Format("{0:z zz zzz}", dt); // "-6 -06 -06:00" time zone
Friday, 14 October 2011
DevExpress, GridControl, how the Best Fit Column feature works
The property
GridView.BestFitMaxRowCount indicates how many rows will be processed in order
to adjust the best column width.
- -1 means that all row will be processed
- 0 nothing
- Any other value indicates how many will be processed
For performance
issues apply a small number or apply 0.
Important
note: If auto width is enabled, a column's GridColumn.Width property doesn't contain its
visible width, but the value used when auto width is false, so that a column's
layout can be restored. A column's visible width is available via its GridColumn.VisibleWidth property.
Monday, 10 October 2011
Method code, to convert a deleted DataRow to non deleted DataRow
/// <summary>
/// Get the deleted record you provide as non deleted row; NOTE: the State of the row is ADDED.
/// </summary>
/// <param name="sourceDataTable"></param>
/// <param name="deletedDataRow"></param>
/// <returns></returns>
public static DataRow readDeletedDataRow(DataTable sourceDataTable,DataRow deletedDataRow) {
int deletedDataRowIndex = sourceDataTable.Rows.IndexOf(deletedDataRow);
DataView deletedView = new DataView(sourceDataTable, null, null, DataViewRowState.Deleted);
DataTable deletedRecordsTable = deletedView.ToTable();
return deletedRecordsTable.Rows[deletedDataRowIndex];
}
/// Get the deleted record you provide as non deleted row; NOTE: the State of the row is ADDED.
/// </summary>
/// <param name="sourceDataTable"></param>
/// <param name="deletedDataRow"></param>
/// <returns></returns>
public static DataRow readDeletedDataRow(DataTable sourceDataTable,DataRow deletedDataRow) {
int deletedDataRowIndex = sourceDataTable.Rows.IndexOf(deletedDataRow);
DataView deletedView = new DataView(sourceDataTable, null, null, DataViewRowState.Deleted);
DataTable deletedRecordsTable = deletedView.ToTable();
return deletedRecordsTable.Rows[deletedDataRowIndex];
}
Accessing deleted row field values from data table with C#.net
Solution #1
Sometimes we delete data row in data table of dataset. Then we may need again to get deleted row field information from the dataset back for some calculation purpose. It gives error if we want to access the row data from the data table telling "The data row has been deleted ...".
We can still access the field data information by using DataRowVersion.Original parameter. For example
int customerId = Convert.ToInt32( DataTable1.Rows[0][0, DataRowVersion.Original];
This will give the original version of the row data. And voila - we have our original data back.
Solution #2
We can make a Data View out of the datatable. Then convert that data view into data table again. This will give us the original data. But this time the datarowstate = "added".
We see one example code for this.
DataView myView = new DataView(sourceTable, null, null, DataViewRowState.Deleted);
DataTable myTable = myView.ToTable();
Monday, 19 September 2011
how to add and remove event handers
simple with += and -= operators /* A Programmer's Introduction to C# (Second Edition)
by Eric Gunnerson Publisher: Apress L.P.
ISBN: 1-893115-62-3
*/
// 23 - Events\Custom Add and Remove --- copyright 2000 Eric Gunnerson
using System;
using System.Collections;
using System.Runtime.CompilerServices;
public class EventsCustomAddandRemove
{
static public void ButtonHandler(object sender, EventArgs e)
{
Console.WriteLine("Button clicked");
}
public static void Main()
{
Button button = new Button();
button.Click += new Button.ClickHandler(ButtonHandler);
button.SimulateClick();
button.Click -= new Button.ClickHandler(ButtonHandler);
button.TearDown();
}
}
Subscribe to:
Posts (Atom)