|
Why do you open a connection and close it on the next line in OnTransactionCompleted(..) ?
Don't swallow exceptions: You catch exceptions in readplc() and OnTransactionCompleted(..) and then do nothing so you aren't aware of any exceptions being thrown.
I'd suggest: Remove/comment the code that opens and closes the connection. Put a MessageBox.Show(..) in the catch-blocks to show the exception message (just for simple debugging, that's not the right thing to do in production code).
If that doesn't already lead you to being able to fix the problem, please "report back" And please elaborate on what you mean by "stops executing": Does it exit the loop or does it "hang" (on which line?) or something different ?
If the brain were so simple we could understand it, we would be so simple we couldn't. — Lyall Watson
|
|
|
|
|
I open and close the connection for the purpose of the program to keep looping without throwing an exception.
I can see if an exception is thrown when I am stepping through the code in debug mode.
Even with a messagebox.Show(ec.message); It never reaches the code.
It stops executing, it says its running but I know it's not. If I put a break point in between the loop when it seems to of 'crashed' the breakpoint is never reached..
I can't work out which line, but, I know if I remove the mysql lines of code, the program works nicely..
Probably worth noting that this code works perfectly in a console application, I have it coded to insert the data into a mysql database, and it doesn't crash at all.
modified 22-May-15 9:17am.
|
|
|
|
|
Member 11711277 wrote: 1. I open and close the connection for the purpose of the program to keep looping without throwing an exception. That's strange. It shouldn't be neccessary. Which exception is being thrown if you don't open and close the connection?
Member 11711277 wrote: 2. Obviously I can catch exceptions when in debug mode? Sure. Are you referring to the option Debug > Exceptions > Break when an exception is thrown? If yes, why do you have the try-catch-blocks in the first place? Not saying it will work if you remove them but empty catch-blocks are just bad practice.
Member 11711277 wrote: I can't work out which line, but, I know if I remove the mysql lines of code, the program works nicely.. Now you got me confused - didn't you say you have those lines in there to avoid an exception?
Did you run it in the debugger and stepped through it line by line?
If the brain were so simple we could understand it, we would be so simple we couldn't. — Lyall Watson
|
|
|
|
|
Sorry, the line of code it seems to 'crash' after processing is for (int i = 0; i < items.GetLength(0); i++)
|
|
|
|
|
Enclose the whole for-loop with an if-statement - and you can simplify items.GetLength(0) to items.Length :
if (items != null)
{
for (int i = 0; i < items.Length; i++)
{
}
}
If the brain were so simple we could understand it, we would be so simple we couldn't. — Lyall Watson
|
|
|
|
|
Tried, still doesn't make a difference, seems to be crashing at the very last bracket now though
|
|
|
|
|
What happens if you step through it line by line?
If the brain were so simple we could understand it, we would be so simple we couldn't. — Lyall Watson
|
|
|
|
|
it simply stops executing after I've stepped through it around 3 times, no Locals are shown when it stops either, even though it's still in debug mode.
|
|
|
|
|
I still didn't quite get what purpose that connection should serve. Suggestions:
- Removing/commenting the code that opens/closes the connection
- Using it like this instead:
using (var conn = new MySqlConnection("server=localhost;user id=localhost;password=localhost;database=localhost;pooling=false"))
{
conn.Open();
}
- Make sure you're building your solution in debug configuration
- Rebuilding the solution (Build > Rebuild solution)
If the brain were so simple we could understand it, we would be so simple we couldn't. — Lyall Watson
|
|
|
|
|
Just tried both, still no difference, It is really annoying..
|
|
|
|
|
Also, the purpose of the connection is that the program is mean't to sync data into a mysql database, but I just haven't coded it all in yet.
|
|
|
|
|
I'm out of ideas, atm. Maybe someone else has another idea..
If the brain were so simple we could understand it, we would be so simple we couldn't. — Lyall Watson
|
|
|
|
|
i need help regarding this,
i want to keep datageridview cell in edit mode even any arrow key is pressed,
it should only exit edit mode on enter or on tab key.
|
|
|
|
|
If you haven't already, create a custom class deriving from DataGridView and override the method ProcessCmdKey. In that method you can check if the key that is pressed is one of the arrow keys and inhibit its normal effect by not calling the base implementation:
public class MyDataGridView : DataGridView
{
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == Keys.Left ||
keyData == Keys.Right ||
keyData == Keys.Up ||
keyData == Keys.Down)
{
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
}
If you need help on how to use such a subclassed Control in your Form/Project, please see here:
Override datagridview_keypress method[^]
(It addresses overriding the OnKeyPress-method but apart from that it's all the same.)
If the brain were so simple we could understand it, we would be so simple we couldn't. — Lyall Watson
|
|
|
|
|
|
|
Dear Experts,
I have datagridView with tow columns.
I use the below code to get value from Cell the cursor left, but when cursor left for first time, even if I filled a value, the message box give me "Blank" notjing, but if I returned to the cell and leave it again, then message give me the Value. I have searched in google, but with no result.
private void dataGridView1_CellLeave(object sender, DataGridViewCellEventArgs e)
{
string x = (string)dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value;
MessageBox.Show(x);
}
Your help please.
Ahmad,
|
|
|
|
|
Just subscribe to the CellValueChanged[^]-event instead of the CellLeave-event.
If the brain were so simple we could understand it, we would be so simple we couldn't. — Lyall Watson
|
|
|
|
|
put datagridview1.EndEdit() above
string x = (string)dataGridView1.Rows[e.RowIndex].Cells[e.ColumnIndex].Value;
statement
|
|
|
|
|
It is working, Thank you
|
|
|
|
|
Currently i have painted top portion of a panel as header for this panel but if in design time I am setting a child control inside that panel as dockstyle bottom while resizing this control is overriding panel of that header.so I want header should be always on top or over the child controls
Pls help me
|
|
|
|
|
Sorry?
Perhaps punctuation would help...
Stop just typing as fast as you can, and thing about the people who have to read your question: that is all we get to work on. We can't see your screen, we can't access your hard disk, and we can't read your mind!
So explain in some detail what you expect to happen, and what did occur. Sometimes drawing little "ASCII-art" pictures can help:
_____
| 1 | 1 - Header
|-----|
| |
| 2 | 2 - Rest of panel
| |
----- And then drawing others to show what you expected, and got.
And relevant code fragments help as well!
The better the info you give us, the better the response we can give you.
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
Add a new panel to your panel. Have it dock to "top". Make it as high as the header should be. Paint the new panel as if it is the header.
When adding a control, add it to the original pannel, using dock set to "fill". May require an additional BringToFront or SendToBack.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Hi, If change EmployeeName in dropdownlist I can Get clientState value have empId in mvc DayPilot Calendar Current control.It will work. If i navigate to Day or Month view then DayPilot control cannot update Event of Employee and Client state is 0.
Here my Coding
In Jquery...
$(#ddlProviderSched).change(function () {
var ProviderId = $(this).val();
if (ProviderId != null) {
switcher.active.control.clientState.ddlProviderSched = ProviderId;
switcher.active.control.commandCallBack(refresh);
}
})
in C# MVC Controller Page....
protected override void OnCommand(DayPilot.Web.Mvc.Events.Month.CommandArgs e)
{
switch (e.Command)
{
case "navigate":
StartDate = (DateTime)e.Data["day"];
Update(CallBackUpdateType.Full);
break;
case "refresh":
Update(CallBackUpdateType.EventsOnly);
break;
case "delete":
new EventModel().EventDelete((string)e.Data["e"]["id"]);
Update(CallBackUpdateType.EventsOnly);
break;
//case "filter":
// string Provider1 = (string)e.Data["Provi"];
// Events = new EventModel().FilteredData(StartDate, VisibleEnd, Convert.ToInt32(Provider1)).AsEnumerable();
// Update(CallBackUpdateType.Full);
// break;
}
}
protected override void OnFinish()
{
if (UpdateType == CallBackUpdateType.None)
{
return;
}
//Events = from e in dc.TimesheetRecords where e.EmployeeId == employee select e;
int Provider = SelectedEmployee();
Events = new EventModel().FilteredData(VisibleStart, VisibleEnd,Provider).AsEnumerable();
DataIdField = "Id";
DataTextField = "Reason";
DataStartField = "eventstart";
DataEndField = "eventend";
}
public int SelectedEmployee()
{
if (ClientState["ddlProviderSched"] != null)
{
var ProId = (string)ClientState["ddlProviderSched"];
return Convert.ToInt32(ProId);
}
else
return 0;
}
|
|
|
|
|