|
There are two of these controls in my windows application.
checking the items in the first one should cause the items in the second control to populate.
At present I use the mouse_leave event on the first control to trigger the event to populate the second control.
Is this the proper event I should use? I do not think the selectedIndex event is the correct one for this purpose either. Any suggestions please?
Thanks
|
|
|
|
|
"Translate" what you have to do in terms of events in your application. Then you'll know what event you have to handle.
SkyWalker
|
|
|
|
|
Hi,
Do not find the relevant event.
|
|
|
|
|
I am newly on in programming in c#.net...Can you help me to take fields from data table separately by c# programming
|
|
|
|
|
I suggest you to chage subject of your question, make it more reasonable if u wanna get answer[^]
I Love T-SQL
|
|
|
|
|
Try reading this:
ADO.NET
or try Google, there are loads of articles on ado.net and c#
Bob
Ashfield Consultants Ltd
|
|
|
|
|
|
Hi,
I have a VB application with a button.
When I click on that button it must show a windows form application that is made in C#.
How could this be done?
I've heard something about COM object: ComSourceInterfaces
And something about making an interface class file...something like:
[InterfaceType(ComInterfaceType.InterfaceIsIDispatch)]<br />
public interface _InterfaceClient<br />
{<br />
}
Is this the correct way? If so, does anyone have an good example?
Thanks,
|
|
|
|
|
Hi,
i'm working on an programe that reads several items from an MySql Database,
i've got the connection working. but for the last couple of days i've been struggeling.
I want to add items to the database via the use of 2 textbox but i'm cluesless on how to get the query,
i've been going over several pages tough all seem to fix on MMSql 2005 or on the connection string.
Any help would be greatly apriciated
Greetings
Ben
|
|
|
|
|
Any code that attempts to do this at the moment would be useful to see. It will help us point out where you're going wrong.
In the mean time, I suggest you read this great article here[^], specifically the section about parametrised queries. In short, you take the user's input and create a new MySqlParameter object from that information and perform an INSERT statement.
He who makes a beast out of himself gets rid of the pain of being a man
|
|
|
|
|
My coding for adding has been done,
Tought the removing function still does not , and i'm not sure how to finish the following:
string query = "DELETE FROM facturen WHERE Id = " there should be more here
MySql.Data.MySqlClient.MySqlCommand bQuery = new MySql.Data.MySqlClient.MySqlCommand(query, connection);
bQuery.ExecuteNonQuery();
connection.Close();
|
|
|
|
|
Hello everyone,
If all the Finalizer methods of all the used classes in a thread are programmed properly, means native resource are released in Finalizer (e.g. implementing Dispose pattern), no matter how the thread is terminated (normally, by Interrupt or by Abort or by Exit or ...), there should not be any resource leak, right?
thanks in advance,
George
|
|
|
|
|
|
Any more description please?
regards,
George
|
|
|
|
|
I don't think that Abort gives the chance for a cleanup, unless you call ThreadAbortException. As for the Exit, when an application is terminating, I think the finalizer that are left to execute are not.
Put Trace statements in your Finalizers and Dispose methods to see.
In other words, if a class implements IDisposable, you should always call the Dispose method.
|
|
|
|
|
Thanks Le Centriste,
1.
Le Centriste wrote: In other words, if a class implements IDisposable, you should always call the Dispose method.
We can not alway have chances to call Dispose when unexpcted Abort is called on the thread, right?
2.
So, your point is there will be native resource leak when we call abort?
regards,
George
|
|
|
|
|
Usually, you should catch the ThreadAbortException in your thread. Read the remarks section of the following link:
http://msdn2.microsoft.com/en-us/library/ty8d3wta.aspx[^]
Your thread entry point should have a try/catch block, with special handling for ThreadAbortException.
Quick question: why do you need to call abort on your thread?
|
|
|
|
|
Thanks Le Centriste,
1.
You mean in the exception handler for ThreadAbortException, we should do clean-up things, like release the native resouce, or else there will be resource leak, right?
2.
Le Centriste wrote: Quick question: why do you need to call abort on your thread?
I am afraid others may call Thread.Abort on my thread, so I am asking how to handle properly.
regards,
George
|
|
|
|
|
George_George wrote: You mean in the exception handler for ThreadAbortException, we should do clean-up things, like release the native resouce, or else there will be resource leak, right?
Yes, and if your thread is also prone to block, handle the ThreadInterruptedException also.
George_George wrote: I am afraid others may call Thread.Abort on my thread, so I am asking how to handle properly
That is very good thinking.
|
|
|
|
|
Thanks Le Centriste,
Le Centriste wrote: Yes, and if your thread is also prone to block, handle the ThreadInterruptedException also.
Either Abort or Interrupt is called, the Finalizers are not ensured to be called? I think if they are ensured to be called, we can rely on them to clean-up resources, and leave the body of handlers for Abort/Interrupt exceptions empty.
Any comments?
regards,
George
|
|
|
|
|
As a golden rule, you should always clean up behind you, and not rely on your mother to do it.
Seriously, you could simply use the using statement, as finally blocks are always executed, no matter what. That will free you from having to handle the exceptions and still do the cleanup.
We should not rely on the Finalizers, as they are there as a last defense, and you don't know when they execute. Calling the Dispose method from a finally is a surefire way of cleaning up.
|
|
|
|
|
Thanks Le Centriste,
I am just wondering whether there are any official documents from Microsoft about whether finally block or Finalizer will be ensured to be called, when we call Interrupt or Abort on thethread?
Do you find such documents?
regards,
George
|
|
|
|
|
George_George wrote: I think if they are ensured to be called, we can rely on them to clean-up resources, and leave the body of handlers for Abort/Interrupt exceptions empty.
You can't rely on the finalisers to be called. When the objects are up for dispose, they will be placed in the queue for finalising. A background thread calls the Finalize method of the objects, but if there are too many objects left in the queue when the application ends, the objects will just be thrown away without finalising.
The ThreadAbortException exception exists so that you will have a chance to clean up the resources properly, so that you don't have to hope that they will eventually clean up themselves. You should clean up the resources as soon as possible, not wait for the garbage collector to initiate the cleanup.
If you create the IDisposable objects in using blocks, they will be disposed properly even if the thread is aborted.
Despite everything, the person most likely to be fooling you next is yourself.
|
|
|
|
|
Thanks Guffa,
1.
Guffa wrote: A background thread calls the Finalize method of the objects, but if there are too many objects left in the queue when the application ends, the objects will just be thrown away without finalising.
Is the above scenario documented as a defined behavior for GC? I am confused. In my understanding, no matter how many objects need to get Finalize method called, they are all ensured to be called.
Do you have any documents to support your points that in some situations, the finalizers can not called?
2.
Guffa wrote: The ThreadAbortException exception exists so that you will have a chance to clean up the resources properly, so that you don't have to hope that they will eventually clean up themselves. You should clean up the resources as soon as possible, not wait for the garbage collector to initiate the cleanup.
Clean-up in the handler for ThreadAbortException?
regards,
George
|
|
|
|
|
George_George wrote: Do you have any documents to support your points that in some situations, the finalizers can not called?
"A stalled finalizer can prevent the CLR from completing the AppDomain tear down. To account for this, the CLR implements a timeout on this process, after which it will stop the finalization process."
Identify And Prevent Memory Leaks In Managed Code[^]
"Finalizers are expensive to run, and there’s no order (or even guarantee) that they will be run (for example, the finalizer thread may time out, or be killed on AppDomain unload)."
Demystifying Dispose[^]
"if the process is terminating, the system will timeout the finalizer thread if it cannot finalize all the items in a reasonable amount of time."
Critical finalizers (reliability part 1)[^]
".Net doesn't make any guarantee that the finalizer for each object will get called. In the current implementation .Net has one finalizer thread. If there exist a finalizer which block this thread then the other finalizer will never get called"
Memory Leak Detection in .Net[^]
George_George wrote: Clean-up in the handler for ThreadAbortException?
Yes, for anything that you can't use a using or try...finally to clean up.
Despite everything, the person most likely to be fooling you next is yourself.
|
|
|
|
|