|
Christian Graus wrote: No value type is immutable AFAIK
Actually, most value types are immutable. You never change their value, you replace it with a new value.
There are some exceptions, like the Point structure, that allows you to change it's properties separately.
---
b { font-weight: normal; }
|
|
|
|
|
Guffa wrote: Actually, most value types are immutable. You never change their value, you replace it with a new value.
There are some exceptions, like the Point structure, that allows you to change it's properties separately.
When you write code to replace a string "value", since the string "value" is immutable you are actually replacing the current string "object" with a new string "object". The old string "object" is eventually desposed of. However, a value type can be changed without replacing its address space with a new value type address space.
So, IMHO, Christian Graus is correct about no value type is immutable.
"We make a living by what we get, we make a life by what we give." --Winston Churchill
|
|
|
|
|
George L. Jackson wrote: When you write code to replace a string "value", since the string "value" is immutable you are actually replacing the current string "object" with a new string "object". The old string "object" is eventually desposed of. However, a value type can be changed without replacing its address space with a new value type address space.
If you consider any changeable value to be mutable, then a string variable is mutable, while the string data that it references is not. In fact that makes all reference types mutable, as you can change the reference.
Also, if all value types are mutable, then there is nothing special with the Point structure, that actually is mutable. The entire debate about mutable structures becomes a moot point if all structures should be considered to be mutable.
I would rather like to make the distinction based on whether the class or structure exposes any methods to change the state of it.
---
It's amazing to see how much work some people will go through just to avoid a little bit of work.
|
|
|
|
|
I understand your "immutable" point of view! I believe mine is mutating towards yours.
George
"We make a living by what we get, we make a life by what we give." --Winston Churchill
|
|
|
|
|
shyagam wrote: And what about immutables? Are they value or reference types?
Both value types and reference types can be immutable.
Being immutable only means that the type does not expose any methods to alter it's value.
---
b { font-weight: normal; }
|
|
|
|
|
Whats so ever,
strings are allocated on the heap as an array of chars, and are garbage collected, so definitely they are reference types. 100%!!
99% 100% 101%
|
|
|
|
|
For immutable objects, there is no difference in behavior between reference types and value types.
If you can't change it, it doesn't matter if changing it would change all references to that instance (reference type) or just the copy you got (value type).
But yes, internally string is a reference type; so passing a string around doesn't create lots of copies.
|
|
|
|
|
can anyone tell me why the heck am i getting this error here:
SomeTableAdapter.Update(SomeDataSet);
Error: System.Data.OracleClient.OracleException was unhandled
please help
All generalizations are wrong, including this one!
(\ /)
(O.o)
(><)
|
|
|
|
|
To handle exceptions, you need to surround your code with a try block, hand the exception in a catch block, and release resources in a finally block. Are you using try/catch/finally?
"We make a living by what we get, we make a life by what we give." --Winston Churchill
|
|
|
|
|
Of course i do!! im just heading to the point where i get the trouble so i dont post long messages in the forum.
All generalizations are wrong, including this one!
(\ /)
(O.o)
(><)
|
|
|
|
|
You should not get an unhandled OracleException if you used try/catch. What is the real error? You will have to find the correct balance between too little information and too much information. In the present case, you gave me too little information to help you solve your problem.
"We make a living by what we get, we make a life by what we give." --Winston Churchill
|
|
|
|
|
Oops , im sorry George, i feel really stupid , i was too sleepy when i posted this message that im shocked now when i read it!! anyhow, the error was ora-00911 invalid character, the fields are ok, number(2) and varchar2(12) and the data is (1,one), but dont worry, i found out what was the problem, believe it or not it was because of containing a ";" in the select statement when loading the datasource to the data grid, now i have another problem that keeps on bugging me, it hangs on adapter.fill(dataset,"someTable"); i think it i need to add a command builder, however im surprised that we have to edit the automatically generated code from dragging the datatable to the forms! it would've been nicer if we could just drag and drop these bloody repetitve tasks!! i was happy when i thought i can do that all the time!! are you getting the same problem?? im using .net 2005, please let me know, and thank you for taking the time to read this, thank you George!!
All generalizations are wrong, including this one!
(\ /)
(O.o)
(><)
|
|
|
|
|
Actually, I avoid the automatically generated code because it usually doesn't meet my needs and it seems to go whacky if I try to change it. So, I create my code manually.
"We make a living by what we get, we make a life by what we give." --Winston Churchill
|
|
|
|
|
George L. Jackson wrote: I create my code manually
i do too and this's my first time i need it automatically so bad cuz i have so much tables and fields to be bound to controls so i thought it would save me much time and trouble to perform such routinous task, thanx anywayz, i found out what was the problem and i want to share it in the forum for those who may run into the same stupid problem!!
invalid host/bind name was because i used the keyword "DESC" as a field name in the table im referencing in the database, it was stupid cuz oracle accepted it very well!! so i thought it's fine to name a field with a keyword but not the table, and what's more, it binds normally to the control when loading "which means the field name is only fine for reading!" but when trying to launch the adapter.update(dataset) you get this wonderful error that has nothing to do with the real problem!! i'v always hated oracle's error messages cuz they never lead me to the cause of the error!
cheers
All generalizations are wrong, including this one!
(\ /)
(O.o)
(><)
|
|
|
|
|
Dear All,
I have facing an error during running my crystal reports from vs-2003(C#).
The error ocures in the following code:
showReportUI.rptViewer.SelectionFormula
= "{v_preg16_bl.issu_date} ORDER BY Asc";
v_preg16_bl is a view created in SQLserver 2000.issu_date is a column of this view.
I want to sort the data using SelectionFormula by Ascending order but the above code does not work.I mean an error ocured in the ORDER BY syntax.
Is it possible to sort my data using SelectionFormula?
Looking your help for solving the problem.
Robi
Software Programmer
|
|
|
|
|
Dear All,
I have facing an error during running my crystal reports from vs-2003(C#).
The error ocures in the following code:
showReportUI.rptViewer.SelectionFormula
= "{v_preg16_bl.issu_date} ORDER BY Asc";
v_preg16_bl is a view created in SQLserver 2000.issu_date is a column of this view.
I want to sort the data using SelectionFormula by Ascending order but the above code does not work.I mean an error ocured in the ORDER BY syntax.
Is it possible to sort my data using SelectionFormula?
Looking your help for solving the problem.
Regards
Robi
Robi
Software Programmer
|
|
|
|
|
hi Robi,
use RecordSelectionFormula/SelectionFormula only to limit the number of records based on a specific criteria. to sort fileds add a SortField to the DataDefinition object of the report. make sure you have created the sort formula in report before assigning a value to it at runtime.
Rep repObj = new Rep(); //existing report in project
FieldDefinition fd = repObj.Database.Tables[0].Fields[0]; //indices as appropriate
repObj.DataDefinition.SortFields[0].Field = fd;
repObj.DataDefinition.SortFields[0].SortDirection = CrystalDecisions.Shared.SortDirection.DescendingOrder;//as appropriate
this.crystalReportViewer1.ReportSource = repObj ;
|
|
|
|
|
ok
hi
i have problem in doing with database files
i created small project whitch can doing with database just like
(Insert - Update - Delete) Records .
the project doing well (no bugs - no errors)
but if i want to run this source code in another pc
what should i do to run automaticly without modifying sqlconniction string
or attach the dataBase then
is there any way to doing with dataBase files directly
or what the last step i should do to build my project (just to run on other pc's)
please if any one can help
send me at
kifahhk@hotmail.com
|
|
|
|
|
The only way to avoid connection strings is to
1 - use Access MDB files and ship them with the app
2 - use localhost in the connection string and make sure SQL Server is installed as an unnamed instance with your app. And that scripts run to create the database.
Christian Graus - Microsoft MVP - C++
Metal Musings - Rex and my new metal blog
|
|
|
|
|
Hi,
Is there a possibility to add reference to assembly that is an exe ??
if so please tell me how?
karam C Bose
|
|
|
|
|
Hi!
With VS2005 you can directly reference an exe, IIRC.
With VS2003 or earlier, you can simply rename the .exe to .dll and reference this file.
Regards,
mav
--
Black holes are the places where God divided by 0...
|
|
|
|
|
|
I created a .dll in C# using the "Class Library" option in Visual Studio .NET 2005. I also created a test application, and the .dll works flawlessly with it. The problem comes when I try to add it to Access (2000 or 2003). Access says it can't be done. I have come to believe that I need to register the .dll and I've tried to do so using the following lines in the command prompt:
cd /d %windir%\system32
regsvr32 "(absolute path to .dll)"
When I do this, I get an error saying that it can't find the entry point of the .dll. I don't know how to fix this. Any help is greatly appreciated.
-Fred Morstatter
|
|
|
|
|
Hi , to register your .Net DLL as a COM like stuff, you have to use regasm.exe tool, also do not forget to give the [GUID.....] attribute to your class,
you can also go by another approach of using tlbexp.exe to get a COM like dll and then register using regsvr32.
Live and let live
|
|
|
|
|
You're mistaken. The dll is not a COM dll, and therefore cannot be registered. What makes you think that Access should be able to use a .NET dll ? 2000 is before .NET was released.
Christian Graus - Microsoft MVP - C++
Metal Musings - Rex and my new metal blog
|
|
|
|