|
When using DataSet s, try designing a strongly-typed DataSet by using the DataSet designer in VS.NET (there are other ways and tools, too, but I present the way in VS.NET). Right-click on your project or subfolder and select Add New Item. Find DataSet , give it a name, and click OK.
You'll see a component designer screen. Right-click to add elements (tables) and each element has rows and their types (the columns). You can even add relationships and primary keys. Just play around with it a little.
You can even use the Server Explorer if you have a database connection to drag-n-drop tables or stored procedures which returns tables to generate these automatically.
When you fill the strongly-typed DataSet , your DbDataAdapter derivative (like SqlDataAdapter ) has to be configured to map the tables. This is done through DbDataAdapter.TableMappings and can easily be configured by using the data adapter designer in VS.NET as well.
Finally, you don't even need to use strongly-typed if you use the TableMappings property mentioned above. When selecting multiple result sets, the sequence of table names is "Table", "Table1", "Table2", etc. If you map these to other names, you can use DataSet.Tables["nameOfTable"] .
I recommend using strongly-typed DataSet s, though. You can easily refer to columns by name and don't have to worry about casting since those named rows return the appropriate Type.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
|
|
|
|
|
I must have just skipped by it, but when I was checking out the 'switch' keyword, I noticed that C# has a "goto case" fucntionality inside of a switch block to go to another case statement. Not that I would have a need for it often, but if I do it is there
Funny thing is though, since moving to .NET I seldom use switch. Just have not had a lot of need for it.
Rocky <><
www.HintsAndTips.com
|
|
|
|
|
I didn't know it too.
Mazy
No sig. available now.
|
|
|
|
|
You can get quite complex with goto and <name>: labels as long as they in scope
leppie::AllocCPArticle("Zee blog"); Seen on my Campus BBS: Linux is free...coz no-one wants to pay for it.
|
|
|
|
|
Hi everybody,
Im looking for a code snippet about how can create a small program, something like that one which exist in the msn chat program for testing microphone(Ahdio/Video tuning wizard).
Any help's appreciated.
|
|
|
|
|
there is afaik no possibility to get acess to the audio hardware via the classes stored in the System Namespace
Anyway you should use nBass: http://nbass.sourceforge.net/
and the nBass DLL gives you a class called [i]record[/i]
scio me nihil scire
My OpenSource(zlib/libpng License) Engine:
http://sourceforge.net/projects/rendertech
Its incurable, its a Pentium division failure.
|
|
|
|
|
what is "afaik"?
/\ |_ E X E GG
|
|
|
|
|
As
Far
As
I
Know
Free your mind...
|
|
|
|
|
as far as I know
scio me nihil scire
My OpenSource(zlib/libpng License) Engine:
http://sourceforge.net/projects/rendertech
Its incurable, its a Pentium division failure.
|
|
|
|
|
how do you default the focus to be on a certain control when a dialog comes up?
the following line in the constructor is not doing it.
this.m_OkButton.Focus();
Elena
|
|
|
|
|
Set the TabIndex of the control you want to have initial focus to 0, adjusting the other controls with TabStop enabled. You can do this easily in VS.NET by click the View->Tab Order when a form is open in the designer.
The Focus method only works when a control (including a form) is already open.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
|
|
|
|
|
Can anyone tell me why Adj get assigned the value of -1 in this code ?
string Line ="$ID\\SITE\\\\\\AG";<br />
int Index =8;<br />
int Adj = Line.LastIndexOf("\\\\",Index);
It LastIndexOf method works fine if I do not specify as start position, but even if the start position is 1 Adj gets assigned -1.
|
|
|
|
|
Change the code for this and it'll be easier to understand:
string Line = @"$ID\SITE\\\AG";
int Index =8;
int Adj = Line.LastIndexOf(@"\\",Index);
What's happening is that each pair of '\' only really generates a single '\'.
Trying to make bits uncopyable is like trying to make water not wet.
-- Bruce Schneier
By the way, dog_spawn isn't a nickname - it is my name with an underscore instead of a space. -- dog_spawn
|
|
|
|
|
right but I'm search then searching for the last index of "\\\\" or \\, which should give me the value of 9 in adj right ?
string Line ="$ID\\SITE\\\\\\AG";
int Index =8;
int Adj = Line.LastIndexOf("\\\\",Index);
|
|
|
|
|
But you're starting your backward search at character position 8, so 9 and higher isn't even evaluated. See my other post (which I must've been typing while Daniel posted his) for more information.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
|
|
|
|
|
By setting Index equal to 8, you're starting your backward search at index 8 and working backward, so there is no instance of @"\\" . String.LastIndexOf - if provided a start index - will begin searching from there and search backward. See the documentation for String.LastIndexOf in the .NET Framework SDK for more details and pretty thorough example.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
|
|
|
|
|
Crap...so obvious...thanks Heath
|
|
|
|
|
How can I convert a DateTime variable to double time representing time as a modified Julian date?
Information:
Modified Julian date
Time is represented as a modified Julian date. A modified Julian date is the Julian date minus 2400000.5. A modified Julian date represents the number of days since midnight November 17, 1858 Universal Time on the Julian Calendar. A modified Julian date is chosen instead of the (unmodified) Julian date because the numbers become smaller and also higher precision in representing time is possible. Julian dates are often used in hydrology.
|
|
|
|
|
JulianCalendar class.
MSDN has some sample code for it.
Mazy
No sig. available now.
|
|
|
|
|
I am trying to write a windows service to monitor activity on the serial port. I can write a simple service, but I am not sure how to monitor the serial port. I was wondering if anyone out there knows how to monitor the serial port in a service. Any help would be appreciated Thanks Tim 
|
|
|
|
|
|
Right, i am having 1 of them shouldnt have got up days, so this is probably a real simple question.
i have created a base form that has an IE object and a few buttons on it, i then create a new form that inherits from this base form. The code compiles fine and when i run the app the inherited form shows ok and i can click the buttons etc. But when i view the inherited form in studio at design time the form does show and i get the error message "The path is not of a legal form".
Eh? Where have i gone wrong, what path is wrong?
Ta
Simon Wren
simon.wren@nesltd.co.uk
Senior Software Architect
National Energy Services Ltd
Visit Us: www.nesltd.co.uk or: www.nher.co.uk
|
|
|
|
|
The designer can be pretty finicky at times. In order to create an inheritted form that VS.NET likes, right-click on your project and click Add Inheritted Form. You're project will have to had been built at least once with the form from which you want to inherit. If you want the new form to be able to access controls on the inheritted form, click on the controls in the original form and change their access modifiers in the PropertiGrid to protected or public.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
|
|
|
|
|
I am writing a MDI application where the child windows contain active x controls that request metering information every 100 ms.
When the child forms are deactivate the keep requesting metering information so that the user can tile the forms and see the meters updating.
I want to stop the control reuesting data when it is hidden by another window and not visible. Does anyone know how I can tell when a form or region is hidden by another window?
WM_PAINT events are only generated when a part of the window which was hidden is exposed again. I want to know when it was painted over so I can stop wasting processing and comms. band width for a control no one can see.
Any suggestions would be most welcome.
|
|
|
|
|
You can test the window against each other window of your MDI Application.
Calculate the boundary rectangle of the window and check, wether the boundary rectangle of the window to test is covered:
<br />
Rectangle testrect=new Rectangle(testwin.Left,testwin.Top,testwin.Width,testwin.Height);<br />
<br />
foreach(Form f in MDIChildren)<br />
{<br />
Rectangle winrect = new Rectangle(f.Left,f.Top,f.Width,f.Height);<br />
<br />
<br />
}<br />
|
|
|
|