Click here to Skip to main content
15,891,864 members
Articles / Programming Languages / C#

An XML Database Schema And Data Editor

Rate me:
Please Sign up or sign in to vote.
4.91/5 (51 votes)
29 Sep 2002CPOL3 min read 216.1K   5.1K   141   24
View and edit your XML database schema and data

Sample Image - xmlSchemaEditor.jpg

Introduction

After publishing my recent article on dynamic menus in C#, several people commented that I should implement the menu structure in XML instead of Access. Well...fine, I thought, and began playing around with XML schemas in the VS.NET IDE. I was quickly disappointed with the ability to create schemas and edit their contents. The IDE was not behaving as the documentations said it should, and the behavior appeared inconsistent and buggy. Several of you commented that you were not getting this behavior, but I was. I also wanted an XML schema/data editor that was independent of the IDE (regardless of the 20MB dotnetfx.exe file that needs to be installed!).

After browsing CP and google, I didn’t see anything that fell into the category of a basic schema and data editor, so the following is the result. Even if I’ve duplicated effort, I’ve learned some things on the way, and having no prior XML experience, this is probably where the greatest value lies.

There really isn't anything that's rocket science about this, but I'll show some code anyways.

Loading An XML File

C#
private void mnuOpen_Click(object sender, System.EventArgs e)
{
    DialogResult res=openFileDialog.ShowDialog(this);
    if (res==DialogResult.OK)
    {
        string fn=openFileDialog.FileName;
        DataSet ds=new DataSet();
        ds.ReadXml(fn);
        lbTables.Items.Clear();
        foreach (DataTable dt in ds.Tables)
        {
            lbTables.Items.Add(dt.TableName);
        }
        dataSet=ds;
        lbTables.SelectedIndex=0;
        fnSchema=fn;
        this.Text="XML Database Editor - "+fnSchema;
    }
}

This code, after getting a valid XML filename (to the limits that I test it!), loads the file into a DataSet, which is a built in function of the DataSet. The table ListBox lbTables is then populated with the table name, by iterating through the data set's tables. The first table is selected as default, and the application caption is updated.

Saving A DataSet As An XML File

C#
dataSet.WriteXml(fn, XmlWriteMode.WriteSchema);

This statement writes all the data for all the tables, and with the XmlWriteMode.WriteSchema option, also writes the schema for the DataSet. Thus, the XML file has the complete description of the database and all of its data.

Adding A Table

Tables are added to the DataSet as described below:

C#
private void btnAddTable_Click(object sender, System.EventArgs e)
{
    string tblName=edTableName.Text;
    if (!ValidateTableName(tblName))
    {
        return;
    }
    
    DataTable dt=new DataTable(tblName);
    currentTable=dt;
    lbTables.Items.Add(tblName);
    dataSet.Tables.Add(dt);
    lbTables.SelectedItem=lbTables.Items[lbTables.FindStringExact(tblName)];
}

This code adds a table to the ListBox and to the DataSet, then selects the newly added table in the ListBox.

Adding A Column

Columns are added to the currently selected table:

C#
private void btnAddColumn_Click(object sender, System.EventArgs e)
{
    string colName=edColumnName.Text;
    string colType=cbColumnType.Text;
    if ( (!ValidateColumnNameAndType(colName, colType)) || 
                                (!ValidateSelectedTable()) )
    {
        return;
    }
    ListViewItem lvi=lvColumns.Items.Add(colName);
    lvi.SubItems.Add(colType);
    currentTable.Columns.Add(colName, Type.GetType("System."+colType));
}

In the above code, the column is added to the column ListView and to the selected table. Observe the code:

C#
currentTable.Columns.Add(colName, Type.GetType("System."+colType));

When adding a column, the column name and the type is required. The type is determined by using a great VS.NET function GetType, which converts a textual representation of the string to its actual type. In the code, the string "System." is prefixed onto the column type string so that the conversion routine can find the correct type. The "System." is removed when displaying column types in the ListView with the string Split function, as described below.

Displaying A Table's Columns

C#
void ShowColumns()
{
    lvColumns.Items.Clear();
    if (currentTable != null)
    {
        foreach (DataColumn dc in currentTable.Columns)
        {
            ListViewItem lvi=lvColumns.Items.Add(dc.ColumnName);
            string s=dc.DataType.ToString();
            s=s.Split(new Char[] {'.'})[1];
            lvi.SubItems.Add(s);
        }
    }
}

This code iterates through the columns of the current table, extracting the column name and the column data type, then adding this information to the ListView.

The Data Grid

Probably the most interesting process is setting up the DataGrid. The DataGrid displays data for the selected table:

C#
private void lbTables_SelectedIndexChanged(object sender, 
                                        System.EventArgs e)
{
    string tblName=lbTables.Text;
    currentTable=dataSet.Tables[tblName];
    ShowColumns();
    dgData.SetDataBinding(dataSet, tblName);
    dgData.CaptionText="Table: "+tblName;
}

The SetDataBinding function is used to establish the connection between the DataGrid and the specific table in the DataSet. Quite nicely, whenever you change the name of the table or column, or add/remove columns, the DataSet automatically updates. There is no code required to update the DataGrid. Amazing!

Possible VS.NET bug?

One thing I noticed was that, when deleting a table from the DataSet, the table still "lingers" in the DataGrid. If you add a table with the same name, back into the system, you will notice that it already has columns defined in the DataGrid. Very strange behavior!

Conclusion

This was a very simple utility to put together and demonstrate some nice things about VS.NET, and some quirks. For example, you can't change the data type of a column after it has data. The program could be extended to do this manually, I suppose. But for now, I don't allow it either (which is too bad, because I occasionally need to change the data type with existing data).

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Architect Interacx
United States United States
Blog: https://marcclifton.wordpress.com/
Home Page: http://www.marcclifton.com
Research: http://www.higherorderprogramming.com/
GitHub: https://github.com/cliftonm

All my life I have been passionate about architecture / software design, as this is the cornerstone to a maintainable and extensible application. As such, I have enjoyed exploring some crazy ideas and discovering that they are not so crazy after all. I also love writing about my ideas and seeing the community response. As a consultant, I've enjoyed working in a wide range of industries such as aerospace, boatyard management, remote sensing, emergency services / data management, and casino operations. I've done a variety of pro-bono work non-profit organizations related to nature conservancy, drug recovery and women's health.

Comments and Discussions

 
QuestionCSV reader for loading data Pin
Member 47220151-Mar-15 20:30
Member 47220151-Mar-15 20:30 
GeneralThanks, this helps A LOT Pin
ivek81cro16-Jan-15 9:39
ivek81cro16-Jan-15 9:39 
GeneralMy vote of 5 Pin
oohj71032915-Dec-11 6:13
oohj71032915-Dec-11 6:13 
GeneralThank You... Pin
Ciuchinobello14-Apr-10 1:16
Ciuchinobello14-Apr-10 1:16 
Generalfrom DataTable to Query Designer Pin
Atzsea Hiducca13-Nov-09 9:49
Atzsea Hiducca13-Nov-09 9:49 
GeneralThanks Pin
was3334-Nov-08 23:17
was3334-Nov-08 23:17 
QuestionNeed help to read My Advanced XML Pin
Prithwish Biswas11-Apr-08 0:41
Prithwish Biswas11-Apr-08 0:41 
I have been getting a big problem to handle one XML file. I am developing a Real estate portal for one of my client, and they want to use XML Property data feed providing by point2.com. I am not much expert With XML. I need to read the feed to display in my ASP.NET 2/0 application. Here is my sample XML file. I will be thankfull for your suggestion.
(http://platform.point2.com/syndication/E6AAFFBD-30E9-4113-AFD7-EDE1CC3F5700/feed.zip ) See the last few like listings-19.xml

<?xml version="1.0" encoding="utf-8" ?>
- <ListingDataFeed xmlns="http://platform.point2.com/schemas/2.0/listingDataFeed">
<PublishDate>2007-07-11T21:36:03Z</PublishDate>
<DocumentationUrl>http://platform.point2.com/documentation</DocumentationUrl>
<Disclaimer>Information is deemed to be correct but not guaranteed.</Disclaimer>
<Copyright>Point2 Technologies, Inc.</Copyright>
- <Listings>
+ <Listing>
<ListingID>958035</ListingID>
<RegionalMLSNumber publiclyVisible="1">3397854</RegionalMLSNumber>
<ListDate>2007-02-26T06:00:00Z</ListDate>
<LastUpdateDate>2007-07-09T19:29:00Z</LastUpdateDate>
<Status>For Sale</Status>
<Title>Condos for Sale in Midtown, Atlanta, Georgia $389,900</Title>
<DetailViewUrl>http://platform.point2.com/Report/lct.ashx?lid=958035&aid=XX&url=http%3A%2F%2Fwww.teresablanco.com%2FListing%2FViewListingDetails.aspx%3FListingID%3D958035%26Bb%3DXX%26Cc%3D958035</DetailViewUrl>
<Email>XX_958035@platform.point2.com</Email>
<WebBugUrl>http://platform.point2.com/Report/dv.ashx?lid=958035&aid=XX</WebBugUrl>
<VirtualTourUrl>http://www.teresablanco.com/Listing/VirtualTour.aspx?ListingID=958035</VirtualTourUrl>
- <Location>
<GeoArea id="207550" type="Neighborhood" name="Midtown" />
<GeoArea id="44569" type="City" name="Atlanta" />
<GeoArea id="289" type="State" name="Georgia" abbreviation="GA" />
<GeoArea id="44" type="Country" name="United States" abbreviation="US" />
<Address publiclyVisible="true" suite="1505">120 Ralph McGill Blvd</Address>
<PostalCode>30308</PostalCode>
</Location>
- <Details>
<Description>This is a property to be proud of! Huge, open and bright spaces with a wall of windows is this loft's mark of distinction... not to mention the incredible, unobstructed views of the entire city from a 15th story perch. This home has over 2,000 Square Feet of living space with hardwood floors throughout. Everything has been renovated to a tee with quality materials. The kitchen has granite countertops, stainless appliances and solid wood cabinets, and the master bath has marble countertops and a sauna! The master walk-in closet is huge and designed with custom shelving. A tax abatement keeps the property taxes low... only $1,800 per year! Also, the seller is will pay 18 months of association dues for the buyer with an accepted offer. The building's amenities include a pool, fitness center concierge and two gated parking spaces. The loft also comes with a large storage space. Day or night... enjoy the stunning views from this home of distinction in the heart of Atlanta! <br>*Marketed by Teresa Blanco, Blue Sky Real Estate. Listed by David Jones, Blue Sky Real Estate. Brokered and Advertised by : Blue Sky Real Estate Group</Description>
<ListPrice currency="USD">389900</ListPrice>
<TaxAmount currency="USD" taxYear="2006">1843</TaxAmount>
<PropertyType>Condominium</PropertyType>
<HasSuite>false</HasSuite>
<Style>Single Story</Style>
<YearBuilt>1974</YearBuilt>
<Bedrooms>2</Bedrooms>
<Bathrooms>2</Bathrooms>
<Features />
<Highlights />
</Details>
- <Media>
+ <Item id="9580351" mimeType="image/jpeg" medium="image" caption="View of one of the bedrooms!">
<Url style="Gallery">http://media.point2.com/p2a/listing/7c33/a6dd/7f6f/144c1e3b73e2a67e71e8/w475h356.jpg</Url>
<Url style="Thumbnail">http://media.point2.com/p2a/listing/7c33/a6dd/7f6f/144c1e3b73e2a67e71e8/w64h48.jpg</Url>
</Item>
- <Item id="9580352" mimeType="image/jpeg" medium="image" caption="Relax in the living room and take in the incredible views!">
<Url style="Gallery">http://media.point2.com/p2a/listing/a0e5/2702/685e/8b7fd1fb35da34b1e966/w475h356.jpg</Url>
<Url style="Thumbnail">http://media.point2.com/p2a/listing/a0e5/2702/685e/8b7fd1fb35da34b1e966/w64h48.jpg</Url>
</Item>
- <Item id="9580353" mimeType="image/jpeg" medium="image" caption="Renovated bathrooms...">
<Url style="Gallery">http://media.point2.com/p2a/listing/b779/1108/c524/dd51cfb96d4ffaa8b261/w475h356.jpg</Url>
<Url style="Thumbnail">http://media.point2.com/p2a/listing/b779/1108/c524/dd51cfb96d4ffaa8b261/w64h48.jpg</Url>
</Item>
- <Item id="9580354" mimeType="image/jpeg" medium="image" caption="Entertain friends in the living space in front of breathtaking views!">
<Url style="Gallery">http://media.point2.com/p2a/listing/632a/0f8a/f397/e876e51b28462bece2d6/w475h356.jpg</Url>
<Url style="Thumbnail">http://media.point2.com/p2a/listing/632a/0f8a/f397/e876e51b28462bece2d6/w64h48.jpg</Url>
</Item>
- <Item id="9580355" mimeType="image/jpeg" medium="image" caption="Wow! Check out this kitchen!">
<Url style="Gallery">http://media.point2.com/p2a/listing/8842/1168/8e2b/e709c93a42ec0f0a5eb5/w475h356.jpg</Url>
<Url style="Thumbnail">http://media.point2.com/p2a/listing/8842/1168/8e2b/e709c93a42ec0f0a5eb5/w64h48.jpg</Url>
</Item>
</Media>
- <ListingAgent>
<AgentID>216636</AgentID>
<Name>Teresa Blanco</Name>
- <ContactInfo>
<Telephone name="Work">404-664-4927</Telephone>
<WebSite>http://www.teresablanco.com</WebSite>
<ProfileUrl>http://NLS.point2.com/members/US/Georgia/Atlanta/Teresa-Blanco/E7D5EE21-A091-4B78-80CF-A588F3B76524.html?Bb=XX&Cc=958035</ProfileUrl>
</ContactInfo>
- <Media>
- <Item mimeType="image/jpeg" medium="image" caption="Agent">
<Url style="Avatar">http://media.point2.com/p2a/user/914e/e240/2d3c/368d5943d0b87cde0140/w160h120.jpg</Url>
</Item>
- <Item mimeType="image/jpeg" medium="image" caption="Agency">
<Url style="Logo">http://media.point2.com/p2a/agency/bf4c/9c4b/9561/638f22f013dbc6597213/w160h120.jpg</Url>
</Item>
</Media>
</ListingAgent>
- <Broker>
<Name>Blue Sky Real Estate Group</Name>
</Broker>
</Listing>
+ <Listing>
<ListingID>958041</ListingID>
<RegionalMLSNumber publiclyVisible="1">326746</RegionalMLSNumber>
<ListDate>2007-02-26T06:00:00Z</ListDate>
<LastUpdateDate>2007-06-28T20:58:00Z</LastUpdateDate>
<Status>Sold</Status>
<Title>Homes Sold in Georgetown, Brooklyn, New York $679,000</Title>
<DetailViewUrl>http://platform.point2.com/Report/lct.ashx?lid=958041&aid=XX&url=http%3A%2F%2Fwww.brooklynsprimeproperties.com%2FListing%2FViewListingDetails.aspx%3FListingID%3D958041%26Bb%3DXX%26Cc%3D958041</DetailViewUrl>
<Email>XX_958041@platform.point2.com</Email>
<WebBugUrl>http://platform.point2.com/Report/dv.ashx?lid=958041&aid=XX</WebBugUrl>
<VirtualTourUrl>http://www.brooklynsprimeproperties.com/Listing/VirtualTour.aspx?ListingID=958041</VirtualTourUrl>
- <Location>
<GeoArea id="224934" type="Neighborhood" name="Georgetown" />
<GeoArea id="223941" type="Borough" name="Brooklyn" />
<GeoArea id="98054" type="City" name="City of Greater New York" />
<GeoArea id="517" type="State" name="New York" abbreviation="NY" />
<GeoArea id="44" type="Country" name="United States" abbreviation="US" />
<Address publiclyVisible="true">6602 Avenue M</Address>
<PostalCode>11234</PostalCode>
<Latitude>40.622878</Latitude>
<Longitude>-73.915189999999996</Longitude>
</Location>
- <Details>
<Description>Builders Own Home - Beautiful - 5 year young - 1 family semi-attached corner property with fenced in private driveway. Very large eat in Kitchen, opens to deck and backyard. Living room has surround sound / 3 BR / 2 1/2 bath - Full finished basement with full bath. Basement has separate entrance. Brokered and Advertised by : Brooklyn's Prime Properties, LLC</Description>
<ListPrice currency="USD">679000</ListPrice>
<TaxAmount currency="USD" taxYear="2006">2412</TaxAmount>
<PropertyType>Residential</PropertyType>
<HasSuite>false</HasSuite>
<Style>2 Story</Style>
- <Lot>
- <Dimensions>
<Length unit="feet">85</Length>
<Width unit="feet">29</Width>
</Dimensions>
</Lot>
<YearBuilt comment="5 years Young">2002</YearBuilt>
<Bedrooms>3</Bedrooms>
<Bathrooms comment="Total of 3 1/2 Baths">3</Bathrooms>
- <Features>
<Feature category="Outdoor">Deck</Feature>
<Feature category="Interior">Cooling</Feature>
<Feature category="Exterior">Brick</Feature>
<Feature category="Exterior">Vinyl</Feature>
<Feature category="Interior">Heating</Feature>
<Feature category="Interior">Heating</Feature>
<Feature category="Security">Alarm System</Feature>
<Feature category="Interior">Window Coverings</Feature>
<Feature category="Exterior">Siding</Feature>
</Features>
<Highlights />
</Details>
- <Media>
- <Item id="9580411" mimeType="image/jpeg" medium="image" caption="IMG_1493">
<Url style="Gallery">http://media.point2.com/p2a/listing/bed5/01e2/209b/f37aac8644535ad700e0/w475h356.jpg</Url>
<Url style="Thumbnail">http://media.point2.com/p2a/listing/bed5/01e2/209b/f37aac8644535ad700e0/w64h48.jpg</Url>
</Item>
- <Item id="9580412" mimeType="image/jpeg" medium="image" caption="IMG_1492">
<Url style="Gallery">http://media.point2.com/p2a/listing/389c/d313/2b7e/367326f9c9e7ffb1f68c/w475h356.jpg</Url>
<Url style="Thumbnail">http://media.point2.com/p2a/listing/389c/d313/2b7e/367326f9c9e7ffb1f68c/w64h48.jpg</Url>
</Item>
- <Item id="9580413" mimeType="image/jpeg" medium="image" caption="IMG_1494">
<Url style="Gallery">http://media.point2.com/p2a/listing/acfa/b66d/3c3c/3a95807022e04ac82406/w475h356.jpg</Url>
<Url style="Thumbnail">http://media.point2.com/p2a/listing/acfa/b66d/3c3c/3a95807022e04ac82406/w64h48.jpg</Url>
</Item>
- <Item id="9580414" mimeType="image/jpeg" medium="image" caption="IMG_1496">
<Url style="Gallery">http://media.point2.com/p2a/listing/a6ef/f054/34de/09db206adda291b5dcf9/w475h356.jpg</Url>
<Url style="Thumbnail">http://media.point2.com/p2a/listing/a6ef/f054/34de/09db206adda291b5dcf9/w64h48.jpg</Url>
</Item>
- <Item id="9580416" mimeType="image/jpeg" medium="image" caption="IMG_1500">
<Url style="Gallery">http://media.point2.com/p2a/listing/cb09/a4a1/d2c1/2d96ef921a26834dcbcc/w475h356.jpg</Url>
<Url style="Thumbnail">http://media.point2.com/p2a/listing/cb09/a4a1/d2c1/2d96ef921a26834dcbcc/w64h48.jpg</Url>
</Item>
- <Item id="9580415" mimeType="image/jpeg" medium="image" caption="IMG_1497">
<Url style="Gallery">http://media.point2.com/p2a/listing/86e7/c7ec/3057/13b79b06bebf0cfcc5ec/w475h356.jpg</Url>
<Url style="Thumbnail">http://media.point2.com/p2a/listing/86e7/c7ec/3057/13b79b06bebf0cfcc5ec/w64h48.jpg</Url>
</Item>
- <Item id="9580417" mimeType="image/jpeg" medium="image" caption="IMG_1498">
<Url style="Gallery">http://media.point2.com/p2a/listing/baa2/bc86/2349/22e68b8ed46671c08c14/w475h356.jpg</Url>
<Url style="Thumbnail">http://media.point2.com/p2a/listing/baa2/bc86/2349/22e68b8ed46671c08c14/w64h48.jpg</Url>
</Item>
- <Item id="9580418" mimeType="image/jpeg" medium="image" caption="IMG_1499">
<Url style="Gallery">http://media.point2.com/p2a/listing/d1e0/7388/4bdf/703e0932f5fc68228849/w475h356.jpg</Url>
<Url style="Thumbnail">http://media.point2.com/p2a/listing/d1e0/7388/4bdf/703e0932f5fc68228849/w64h48.jpg</Url>
</Item>
- <Item id="9580419" mimeType="image/jpeg" medium="image" caption="11.26.2006003">
<Url style="Gallery">http://media.point2.com/p2a/listing/8b4e/deb3/80b9/aeeb973890586bec1ade/w475h356.jpg</Url>
<Url style="Thumbnail">http://media.point2.com/p2a/listing/8b4e/deb3/80b9/aeeb973890586bec1ade/w64h48.jpg</Url>
</Item>
- <Item id="95804110" mimeType="image/jpeg" medium="image" caption="11.26.2006005">
<Url style="Gallery">http://media.point2.com/p2a/listing/b7cd/959b/20d9/1b98ab1907134c4e4047/w475h356.jpg</Url>
<Url style="Thumbnail">http://media.point2.com/p2a/listing/b7cd/959b/20d9/1b98ab1907134c4e4047/w64h48.jpg</Url>
</Item>
- <Item id="95804111" mimeType="image/jpeg" medium="image" caption="11.26.2006011">
<Url style="Gallery">http://media.point2.com/p2a/listing/f41f/9356/07ad/917043694fff258aa671/w475h356.jpg</Url>
<Url style="Thumbnail">http://media.point2.com/p2a/listing/f41f/9356/07ad/917043694fff258aa671/w64h48.jpg</Url>
</Item>
- <Item id="95804112" mimeType="image/jpeg" medium="image" caption="11.26.2006015">
<Url style="Gallery">http://media.point2.com/p2a/listing/ed82/d84e/8fd4/c92f962df651ad08ca49/w475h356.jpg</Url>
<Url style="Thumbnail">http://media.point2.com/p2a/listing/ed82/d84e/8fd4/c92f962df651ad08ca49/w64h48.jpg</Url>
</Item>
- <Item id="95804113" mimeType="image/jpeg" medium="image" caption="11.26.2006017">
<Url style="Gallery">http://media.point2.com/p2a/listing/940e/d7d2/6ab2/9b58dc81df696a0ff0b0/w475h356.jpg</Url>
<Url style="Thumbnail">http://media.point2.com/p2a/listing/940e/d7d2/6ab2/9b58dc81df696a0ff0b0/w64h48.jpg</Url>
</Item>
- <Item id="95804114" mimeType="image/jpeg" medium="image" caption="11.26.2006018">
<Url style="Gallery">http://media.point2.com/p2a/listing/938d/7eab/9853/6c92dabfd42129de29ed/w475h356.jpg</Url>
<Url style="Thumbnail">http://media.point2.com/p2a/listing/938d/7eab/9853/6c92dabfd42129de29ed/w64h48.jpg</Url>
</Item>
- <Item id="95804115" mimeType="image/jpeg" medium="image" caption="11.26.2006020">
<Url style="Gallery">http://media.point2.com/p2a/listing/1356/5c00/70df/08ab9bd64dbd7e5bc1da/w475h356.jpg</Url>
<Url style="Thumbnail">http://media.point2.com/p2a/listing/1356/5c00/70df/08ab9bd64dbd7e5bc1da/w64h48.jpg</Url>
</Item>
</Media>
- <ListingAgent>
<AgentID>284775</AgentID>
<Name>Anthony Sciortino</Name>
- <ContactInfo>
<Telephone name="Work">718-551-3751</Telephone>
<WebSite>http://www.brooklynsprimeproperties.com</WebSite>
<ProfileUrl>http://NLS.point2.com/members/US/New-York/Brooklyn/Anthony-Sciortino/87F2E343-94FA-461A-AD33-4C7207F7CDCE.html?Bb=XX&Cc=958041</ProfileUrl>
</ContactInfo>
- <Media>
- <Item mimeType="image/jpeg" medium="image" caption="Agent">
<Url style="Avatar">http://media.point2.com/p2a/user/7a08/ccef/a409/f5812daf4d5fab2aa8ff/w160h120.jpg</Url>
</Item>
- <Item mimeType="image/jpeg" medium="image" caption="Agency">
<Url style="Logo">http://media.point2.com/p2a/agency/ef79/9d0e/de31/8ba147d338f0f0404009/w160h120.jpg</Url>
</Item>
</Media>
</ListingAgent>
- <Broker>
<Name>Brooklyn's Prime Properties, LLC</Name>
</Broker>
</Listing>
- <Listing>

Thanks & regards
Prithwish Biswas
Director
Dynamicark INC, Kolkata.
prithwish@dynamicark.com
Off:03365357048
+919836254162

GeneralFit the Bill Pin
Onskee116-Dec-07 11:21
Onskee116-Dec-07 11:21 
GeneralYet another great article! Pin
Preky7-Oct-07 22:11
Preky7-Oct-07 22:11 
GeneralHierarchies Pin
Hypnotron13-Sep-07 6:37
Hypnotron13-Sep-07 6:37 
GeneralVB version Pin
Prishalan27-Jun-07 2:31
Prishalan27-Jun-07 2:31 
GeneralLife Saver Pin
Priyank Bolia17-Jun-07 4:24
Priyank Bolia17-Jun-07 4:24 
QuestionHow do i change the column width Pin
Sudhanshu Gupta10-Jun-06 1:43
Sudhanshu Gupta10-Jun-06 1:43 
AnswerRe: How do i change the column width Pin
AbuseByUnkindPeople15-Jun-06 19:15
AbuseByUnkindPeople15-Jun-06 19:15 
GeneralCreating database from xml Pin
w3Nima13-May-06 2:12
w3Nima13-May-06 2:12 
GeneralXML Dokument Pin
surfman1919-Aug-05 12:39
surfman1919-Aug-05 12:39 
GeneralRe: XML Dokument Pin
twostepted30-Oct-05 19:03
twostepted30-Oct-05 19:03 
GeneralFrom XML to Relation Database Pin
doxuanhuyen12-Mar-03 2:37
doxuanhuyen12-Mar-03 2:37 
GeneralRe: From XML to Relation Database Pin
Marc Clifton12-Mar-03 8:01
mvaMarc Clifton12-Mar-03 8:01 
GeneralProblem with PART Table Pin
fmarchi20-Nov-02 10:39
fmarchi20-Nov-02 10:39 
GeneralMalformed XML Pin
Jon Taylor2-Oct-02 22:08
Jon Taylor2-Oct-02 22:08 
GeneralNice DataSet tutorial Pin
1-Oct-02 13:05
suss1-Oct-02 13:05 
GeneralRe: Nice DataSet tutorial Pin
Marc Clifton1-Oct-02 13:10
mvaMarc Clifton1-Oct-02 13:10 
GeneralRe: Nice DataSet tutorial Pin
Alexandru Savescu2-Oct-02 22:55
Alexandru Savescu2-Oct-02 22:55 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.