Monday, 28 November 2011

c# - how to move a project to different file location

- Get backup of the Directory with Project (you don't know what Microsoft can do for you)
- From Visual Studio remove the project for Solution
- If you use Source safe do Check in the pendings (ctrl-wg). This step is important if you use Source safe!
- Move the directory of the Project to the new directory location you desire.
- Remove all *.*scc files from all directories of the project. Some of them might be hidden and read only, so pay attention.
- Right click on Solution and click on Add -> Existing project
- Navigate the dialog and open the .csproj file you placed in new file location
- If you use the Safe Source you might get the misleading message "The associated source control plug-in is not installed or vould not me initialized". Select "Temporarily work uncontrolled" an click ok.
- If you use Source safe do Check in the pendings (ctrl-wg). This step is important if you use Source safe!
- Rebuild your solution and your will get error because this Project is not referenced any more to other Project that was before we removed it. So add this Project in References of the other project where use it.

Thursday, 24 November 2011

mssql - compare two datetime fields


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’

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.

Custom DateTime Formatting

There are following custom format specifiers y (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];
        }

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();