|
If you grab the SQL from the debugger and paste it into your database, what happens ?
Christian Graus - Microsoft MVP - C++
"I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )
|
|
|
|
|
the data is inserted in the table
Assaf
|
|
|
|
|
What if you check the DB after running the code, might the issue be that the data has changed and your app is not refreshing it's data source ?
Christian Graus - Microsoft MVP - C++
"I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )
|
|
|
|
|
I checked but there is no change
Assaf
|
|
|
|
|
Then your code that passes the SQL to the data base is plainly where the problem is. You can check when you call the data layer as to how many rows were affected, that's a good place to start.
Using stored procs is another option worth exploring. Depending on where your data comes from, your current code could have you wide open for injection attacks.
Christian Graus - Microsoft MVP - C++
"I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )
|
|
|
|
|
The problem is when i execute the code no row is affected un the database
but when i take the insert statment from the watch and execute it in the SQL i can saw that one row is affected
so i wonder do from the code.
Assaf
|
|
|
|
|
Then your SQL is fine, and your code to call the database is broken. As I said.
Christian Graus - Microsoft MVP - C++
"I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )
|
|
|
|
|
you mean the connection string but i use it before to retreive data from the same database and it succeed
Assaf
|
|
|
|
|
Not necessarily, I mean that somewhere you're supposed to call some code and you're not. I don't use the nasty built in SQL insert/update/delete stuff, so I can't help much more, but that's plainly where the issue is. That's just common sense.
Christian Graus - Microsoft MVP - C++
"I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )
|
|
|
|
|
let clarify a last question
after i write:
"adap.InsertCommand = cmd;"
should i wite something else ?
and this step isn't the one which give the data into tha database
Thank you very much
Assaf
|
|
|
|
|
Again, I have no idea, I don't use that stuff, I like to write proper data layers.
you should google for docs on the features you're trying to use.
Christian Graus - Microsoft MVP - C++
"I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )
|
|
|
|
|
did you use Storedprocedure for that
Sorry about the question but i try to learn the best way
Thanks a lot for your help
Assaf
|
|
|
|
|
Yes, I used stored procs, always, and then call them from a data layer ( a seperate dll that handles all database calls )
Christian Graus - Microsoft MVP - C++
"I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )
|
|
|
|
|
Attach the profiler to SQL server and see what query (if any) actually gets executed by your app.
|
|
|
|
|
Why start a new thread? You already have a thread about this.
Where do you execute the command?
---
single minded; short sighted; long gone;
|
|
|
|
|
what you mean by start a new thread
adap.InsertCommand = cmd;
Should i write something else to save the Data in th database
Assaf
|
|
|
|
|
He means that you asked the same queston again instead of staying where you asked it before.
Christian Graus - Microsoft MVP - C++
"I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )
|
|
|
|
|
Assaf82 wrote: adap.InsertCommand = cmd;
Should i write something else to save the Data in th database
That is just putting the command in an adapter. You have to do something to execute the command.
---
single minded; short sighted; long gone;
|
|
|
|
|
|
Again, google would have answered this long ago. Don't use stuff you don't understand, research it first.
Christian Graus - Microsoft MVP - C++
"I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )
|
|
|
|
|
Google for ExecuteNonQuery. All you have done is write code that could insert data into the database - you haven't actually told the runtime to perform the insert.
Deja View - the feeling that you've seen this post before.
|
|
|
|
|
I know entity class name as string ( e.q. "Customer", "Product")
I need to invoke static method in this entity class.
I tried the following code but got compile error shown in comment.
How to invoke static method when type name is known as string ?
using System.Collections.Generic;<br />
using System;<br />
<br />
class TestApplication {<br />
<br />
static void Main() {<br />
FindByTypeName("Customer");<br />
FindByTypeName("Product");<br />
}<br />
<br />
static object[] FindByTypeName(string typename) {<br />
<br />
Type t = Type.GetType(typename);<br />
ActiveRecordBase<object> entity = (ActiveRecordBase<object>)<br />
System.Activator.CreateInstance(t);<br />
<br />
return entity.FindAll();<br />
<br />
}<br />
<br />
}<br />
<br />
class Customer : ActiveRecordBase<Customer> {}<br />
<br />
class Product : ActiveRecordBase<Product> {}<br />
<br />
public class ActiveRecordBase<T> {<br />
public static T[] FindAll() {<br />
return null;<br />
}<br />
}
Andrus
|
|
|
|
|
You invoke static methods on the object itself, not a specific instance of that object. In your case, you don't need the FindByTypeName method or call. Instead, you would want to do this:
static void Main()
{
Customer[] customers = Customer.FindAll();
Product[] products = Product.FindAll();
}
|
|
|
|
|
Thank you.
I read class name ( Customer, Products etc) from database.
Some class names are not known at design time.
So I cannot use hard coded class names.
How to invoke method if class name is passed as string to this procedure ?
Andrus
|
|
|
|
|
reflection, I guess
Christian Graus - Microsoft MVP - C++
"I am working on a project that will convert a FORTRAN code to corresponding C++ code.I am not aware of FORTRAN syntax" ( spotted in the C++/CLI forum )
|
|
|
|