473,803 Members | 3,725 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Generic factoring for cross database functionality

Hi.

Has anyone looked into generic factoring for making database
independant applications?
(Framework 2.0)

I have, but I'm in the starting fase.

What I do know is that if you only write code, you are able to make
fairly database independant applications with not much more effort that
if you wrote ie. only against SQL Server.

BUT, and this is a big but, how on earth can we make use of all the
wizards in Visual Studio when it comes to generating datasets, the new
gridview etc. These operate only on data specific providers. Tihs
stinx. I don't want to create all my data objects in code, it's much
cleaner to drag some of them on the form designtime and set
properties...

Any views?

I can't add the components in system.data.com mon to the tool pallette
either...

Thanx,

Morten

Mar 30 '06 #1
5 1627
Hi Morton,

You could use something like NHibernate (www.nhibernate.org). With this
you can create a BO-Layer + Dal (NHibernate) that is database independend.

--
Ward Bekker
"Asp.Net Discussions for the Professional Developer"
http://www.dotnettaxi.com

"Free .Net 2.0 C# to/from VB.Net Code Converter"
http://www.dotnettaxi.com/Tools/Converter.aspx
Mar 30 '06 #2
"DelphiAddi ct" <Mo************ *@edb.com> a écrit dans le message de news:
11************* *********@t31g2 00...legr oups.com...

| Has anyone looked into generic factoring for making database
| independant applications?
| (Framework 2.0)

Certainly, I have written a very nice OPF (Object Persistence Framework) for
..NET 2.0.

| BUT, and this is a big but, how on earth can we make use of all the
| wizards in Visual Studio when it comes to generating datasets, the new
| gridview etc. These operate only on data specific providers. Tihs
| stinx. I don't want to create all my data objects in code, it's much
| cleaner to drag some of them on the form designtime and set
| properties...

As long as you declare a wrapper class for a generic list type, then you can
use these lists as valid data sources at design time.

public class Customer
{
private string name;

public string Name
{
get { return name; }
set { name = value; }
}
...
}

public class CustomerList : List<Customer> { }

Try it.

Joanna

--
Joanna Carter [TeamB]
Consultant Software Engineer
Mar 30 '06 #3
Thank you very much Joanna.

The thing is: I'm an experienced developer, but quite new to C# and
..net : So I'm not quite sure how to put your tip into some real code
that helps me.
I have made a Generic helperclass for myself, and this all works fine.
The components on the component palette is all provider specific. How
do I "publish" a provider that is based on some generic code?

I can see from your previous answer that you know how to do it. I would
be VERY pleased if you could make a small dummy example for me...
Thanx,
Morten

Apr 3 '06 #4
"DelphiAddi ct" <Mo************ *@edb.com> a écrit dans le message de news:
11************* *********@g10g2 00...legr oups.com...

| The thing is: I'm an experienced developer, but quite new to C# and
| .net : So I'm not quite sure how to put your tip into some real code
| that helps me.
| I have made a Generic helperclass for myself, and this all works fine.
| The components on the component palette is all provider specific. How
| do I "publish" a provider that is based on some generic code?
|
| I can see from your previous answer that you know how to do it. I would
| be VERY pleased if you could make a small dummy example for me...

What do you mean by publish ?

Joanna

--
Joanna Carter [TeamB]
Consultant Software Engineer
Apr 3 '06 #5
My original question was: I have written database independant code with
generic factoring in ado.net 2.0. I also want to work with database
independant components design time. Just drag them from the component
pallette and use them.

It seems you answered this question a few posts up. The problem is that
I didn't quite understand how to work with your answer...

That's why the post above.
I took understood your answer as you've been making components you can
use design time (And for a Delphi Developer with components I mean
components you drag from the tool pallette onto a form or datamodule)
So, is this how you have done it - or have you done it another way?

I would very much like to work with design time components - there is
so much functionality in creating things design time with these new
components. The problem is that when working with these components I
work provider spesific, which I don't want to do...

Did this help... ?

Thanx again,

Morten

Apr 4 '06 #6

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
1982
by: Edward Diener | last post by:
Version 2.0 of the Python database API was written over 5 years ago, in 1999. While it has been used successfully by many implementations, there is no generic access into the data dictionary of relational databases except at the table column level. I am working on some Python which would hopefully give me a form of generic access to more common data dictionary functionality such as indices, constraints etc. but no such functionality...
18
4628
by: mountain man | last post by:
Greetings to all database professionals and laymen, Let us make a bold assumption that we have developed a software tool for the SQL Server environment which simply acts as an interface between an end-user in an organization and the database, through the exclusive use of stored procedures which are authored by the organization or by software developers. All development work at the application software level may thereby be conducted...
3
2334
by: SimonH | last post by:
Hi all, I would like to make a generic set of methods that could be called regardless of the database behind the scenes. One of the methods I would like would take a string sql statement and an array of DataParameter objects. The problem i have is there doesnt seem to be a generic DataParameter class that I can instantiate. There only seems to be specific implementations like
5
2823
by: Richard Brown | last post by:
Ok, I've been looking through the .NET SDK docs and stuff. I'm wondering if you can provide a control extender that does generic validation or functionality just by dropping it on the form. For instance, using the IExtenderProvider interface, you can specify properties, but there is nothing documented about linking into a control's events. For instance, in my application, there are specific formatting, functionality and validation for...
6
3978
by: Robin | last post by:
Are there any generic classes available that can be used in VB.Net to perform common tasks such as Database Access and Logging?
4
3244
by: Andrew Ducker | last post by:
I have a collection of classes descending from a single root class (let's call it RootClass). They all currently have a property of Logical, of type Logical. However they actually return a subclass of Logical (LogicalA, LogicalB). I'm currently casting them to the right type when I retrieve them, but obviously this isn't terribly 'nice'. I tried converting the class to be generic, and having a type parameter that affected the type of...
9
12855
by: mps | last post by:
I want to define a class that has a generic parameter that is itself a generic class. For example, if I have a generic IQueue<Tinterface, and class A wants to make use of a generic class that implements IQueue<Tfor all types T (so it can make use of queues of various object types internally). As useful as this is, it doesn't seem possible. The natural (but illegal) notation would be something like class A<QueueClasswhere QueueClass :...
29
2344
by: töff 93722 | last post by:
Long story short, I built a website based primarily on JavaScript: http://www.sjcga.com The site renders *great* in WinIE6/7 and in Mac/Win Opera9. It has problems in Mac/Win Firefox2, and in Safari(OSX) ... especially the Gallery, but the rightside menu is funky also. I've "validated" my scripts through a couple different systems, to no
0
10555
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
10317
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
10300
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
10069
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
9127
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
6844
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
5503
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
5636
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
3
2974
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.