|
This is not an audit strategy if your audit table is identical to your main table what use is that for audit purposes! It may be a bckup but it is not and audit table
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
A better solution might be to have versioning of rows in the main table (and no "audit" table).
|
|
|
|
|
You mentioned the following;
"A better solution might be to have versioning of rows in the main table (and no "audit" table)".
I do not know what you mean by this statement. Can you explain to me what you me and/or show me some code so I can understand what you mean?
|
|
|
|
|
Let's say you have a table containing customer orders. An order has an ID, a status, and a number of other things including creation date and user. As the order is processed, the status will change and you want to be able to report each status change.
Rather than having one row and overwriting the previous values, you can create a new row with the new values.
RowID,PreviousID,NextID,OrderID,CreateDate,CreateUser,Status,...
1,null,2,12345,2013-01-02,Alice,New,...
2,1,3,12345,2013-01-04,Bob,Filled,...
3,2,4,12345,2013-01-06,Carol,Shipped,...
4,3,null,12345,2013-01-10,Ted,Received,...
In this way you can easily see the details of an order's life all in one table. When a new state is created, the only change you make to the previous state is to set the NextID field. And the current record is the one with NextID==null.
|
|
|
|
|
Welcome. I am writing a program to count, which is connected to the database. I added a TabControl control where I want to put different tables in MySQL. I'm trying to drag the tables on the form. However, generating a first BindingNavigator. Even if you copy and set another table in the properties, the latter copied navigator does not work ... Can it do it somehow set to BindingNavigator work for each table?
|
|
|
|
|
Please, please get a book on c# programming, work through the examples and get at least a basic understanding of what you are doing. It sounds like you have just downloaded VS and started fiddling around based on an example or 2 you found on the interweb.
Do some study, get at least a basic grounding in what you are trying to do and start again!
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
nice answer... this is program for count. And count will be tommorow so i don't have a lot of time for searching in books because i,m asking here
|
|
|
|
|
I have the following problem.
If I run an exe file clicking on it it works, while if i call it using
ProcessStartInfo start= new ProcessStartInfo();
start.FileName= "myfile.exe";
Process p = new Process();
p.StartInfo = start;
p.Start();
p.WaitForExit();
it returns the following error:
IErrorInfo.GetDescription failed with E_FAIL(0x80004005)
The exe file runs a query on an excel file
Have you got an idea?
|
|
|
|
|
Probably a dumb question, but is the path correct? In other words, is what you have at start.FileName correct? Can the file be found? If not, is the exe actually loading but is, itself, unable to find its target?
"If you think it's expensive to hire a professional to do the job, wait until you hire an amateur." Red Adair.
nils illegitimus carborundum
me, me, me
|
|
|
|
|
yes the path is correct...I add some details:
Basically from assembly main.exe I call myquery.exe.
It returns the error:
IErrorInfo.GetDescription failed with E_FAIL(0x80004005)during myquery.exe execution (myquery.exe starts, so the path is ok, but after some line of code, it stops during a LINQ query on en excel file).
The strange thing is that if I run myquery.exe directly, everything work fine (the query is ok)
Is it possible something linked to db connection, called not directly??
|
|
|
|
|
Sounds like you need to add some error handling and logging to the exe.
|
|
|
|
|
How are you accessing Excel? I use OleDb to access Excel.
|
|
|
|
|
Sounds like a problem in myfile.exe
|
|
|
|
|
You should give the full path of the exe file.
|
|
|
|
|
yes the path is correct...I add some details:
Basically from assembly main.exe I call myquery.exe.
It returns the error:
IErrorInfo.GetDescription failed with E_FAIL(0x80004005)during myquery.exe execution (myquery.exe starts, so the path is ok, but after some line of code, it stops during a LINQ query on en excel file).
The strange thing is that if I run myquery.exe directly, everything work fine (the query is ok)
Is it possible something linked to db connection, called not directly??
|
|
|
|
|
have you tried to debug your application? since you said the error is while executing LINQ query on a excel file. was the file is located in the right folder the application is referring? can you log the full exception stack so that we may able to find the reason for the error.
Jibesh V P
|
|
|
|
|
you get the point.. the file is in the myquery.exe base directory.
From my main project main.exe is possible to include a path for searcing the excel file?
Basically in myquery.exe I'm opening the file using no path reference. But I can't change myquery.exe
I should include the path (in relative reference) in main.exe. I tried in Proprierties-ReferencePath but here is not possible tu include relative path (I'm not able)
My be in pre event command line?
|
|
|
|
|
If you run an child exe from other exe, the working directory of child exe will be same as that of parent. but you can force the working directory of the child to use its own by setting the working directory as below.
ProcessStartInfo start = new ProcessStartInfo();
start.FileName = @"childExepath\myquery.exe";
start.WorkingDirectory = @"childExepath\";
Process p = new Process();
p.StartInfo = start;
p.Start();
p.WaitForExit();
Jibesh V P
|
|
|
|
|
I would suggest you debug the LINQ query, or add some logging information to the application.
|
|
|
|
|
TheGermoz wrote: while if i call it using
Meaning that the code you posted is running from a console application that does NOTHING else?
Or you are running it from an application that does do something else. If so then create a console application that does nothing else and run it from there.
|
|
|
|
|
Doing a general search, 0x80004005 means "unable to open registry key"; http://support.microsoft.com/kb/295297[^]
The child program may be running under restricted permissions. If run manually, you may be running as and administrator.
|
|
|
|
|
the strange thing is that if in the child program I indicate the full excel file name on which run the code, then I can call and work. Some cases
case 1 (the one I need)
Father program F1 call child C1 where (I mean in C1 code) excel file is indicate as
string myFile ="db.xls" : doesn't work.
case 2
F1 calls C1 where file is indicate as full path
string myFile =@"c:\db.xls" : works.
case 3
if I directly click on C1 where file is indicate as full path
string myFile ="db.xls" : works.
my problem is that I should keep string myFile ="db.xls"
|
|
|
|
|
can you paste the code how you construct the file path. i.e the code you used to open/load the file.
As I said earlier, when you start a child exe, by default the child exe's working directory is parent exe's path.
eg:
C:\Applicaiton\Bin1\Parent.exe
C:\Application\Bin2\Child.exe
C:\Application\Bin2\somefile.xls
If you start Child.exe from Parent.exe, the Working directory of Child.exe you are expecting to be 'C:\Application\Bin2\somefile.xls' but its not true. when you start Child.exe from Parent.exe the working dir of Child.exe is same as Parent.exe ie.'C:\Applicaiton\Bin1\Parent.exe' hence the application tries to find a file in Bin1 folder so throws exception.
You can force the Child.exe to use Bin2\ as its working directory by setting the ProcessStartInfo.WorkingDirectory = "Bin\..";
Jibesh V P
|
|
|
|
|
thank you very much!! You have completely solved my problem!!!
|
|
|
|
|
Happy to hear that. Thank You
Jibesh V P
|
|
|
|