|
If you've got SQL Server 2005, then you could still do this. Bear in mind that you can host CLR applications inside SQL Server, so you would still be able to leverage this.
the last thing I want to see is some pasty-faced geek with skin so pale that it's almost translucent trying to bump parts with a partner - John Simmons / outlaw programmer
Deja View - the feeling that you've seen this post before.
|
|
|
|
|
My apologies to Mexicans by the way for the screen name - it's a temporary one I got from bugmenot.com and I didn't realise it could be construed as being offensive. I'm on site at the moment and haven't got my proper details
|
|
|
|
|
This is how a checkedlistcontrol is populated:
chklstUserRoles.DataSource = dsUsersAndRoles.Tables["Roles"].DefaultView;
chklstUserRoles.DisplayMember = "Name";
chklstUserRoles.ValueMember = "RoleID";
I would like to loop through a checkedlistBox control and collect the IDs that is allocated to each checked item in the control.
This does not quite work:
for (int i = 0; i <= chklstUserRoles.CheckedItems.Count - 1; i++)
{
strRoleIds += chklstUserRoles.SelectedValue.ToString() + ",";
//strRoleIds += chklstUserRoles.CheckedItems[i].ToString() + ",";
}
Thanks
|
|
|
|
|
How to check if network share requires authentication from me using WMI or any other way ?
Thanks.
|
|
|
|
|
The only way to tell is to try and access it. If it fails, then you need to authenticate to the target server.
WMI won't help you in this case.
Dave Kreskowiak
Microsoft MVP - Visual Basic
|
|
|
|
|
I'm trying to find out how to bind an Itemtemplate which is dropdown ascx control to another data bound column in a webgrid.
I have this:
************************************************************
Diary di = Diary.GetDiaryItem(d);
grdDiary.DataSource =di.DiaryHistory;
C1.Web.C1WebGrid.C1BoundColumn col1 = new C1.Web.C1WebGrid.C1BoundColumn();
col1.DataField="DiaryEvent";
grdDiary.Columns.Add(col1);
C1.Web.C1WebGrid.C1TemplateColumn col2 = new C1.Web.C1WebGrid.C1TemplateColumn();
col2.ItemTemplate = LoadTemplate(@"Modules\EventCtl.ascx");
grdDiary.Columns.Add(col2);
grdDiary.DataBind();
**************************************************************
col2(dropdown) needs to reflect col1
Any help would be gratefully received!!
|
|
|
|
|
Hi all! Please clarify my one doubt regarding new operator. When it is needed to use new while creating an object.
Don't Quit
|
|
|
|
|
Nitin1981 wrote: When it is needed to use new while creating an object.
always.
|
|
|
|
|
Hi J4amie C! Thanks for reply. Please clarify few doubts.
1. Is it necessary to be used with reference types only?
If so why DataReader can be used without new.
2. If value types dont reuire a new then
Why in windows forms it is used like this?. where point(it is a structure) is a value type.
Form1.location = new System.Drawing.Point(x,y);
Regards
Don't Quit
|
|
|
|
|
Nitin1981 wrote: If so why DataReader can be used without new
It can't. It is just the new data reader is instantiated inside the ExecuteDataReader method rather than in YOUR code.
Nitin1981 wrote: If value types dont reuire a new then
Value types require a new. You might be getting confused with primative types (e.g. 1, true, 3.1415, "some string") which also happen to be mostly value types (strings are reference types)
|
|
|
|
|
Nitin1981 wrote: 1. Is it necessary to be used with reference types only?
Yes. If it's not a reference type, then it doesn't handle an object.
Nitin1981 wrote: If so why DataReader can be used without new.
It can't. But it's not you who create the DataReader, so it's not needed in your code.
Nitin1981 wrote: Why in windows forms it is used like this?. where point(it is a structure) is a value type.
Form1.location = new System.Drawing.Point(x,y);
A value type may have a constructor, but it will not create an object, it will just return a new value. A value type also always has a parameterless constructor, that returns a value where all members are zero.
A value type declared as a member of a class will be initialized to zero when an object of the class is created. A value type declared as a local variable in a method will be undefined, and the compiler won't let you use it before you have assigned a value to it.
---
It's amazing to see how much work some people will go through just to avoid a little bit of work.
|
|
|
|
|
Nitin1981 wrote: If so why DataReader can be used without new.
It is common practice to provide a method that instantiates an object and returns it to you without requiring you to do anything to create it. ExecuteDataReader internally creates a DataReader and returns an instantiated version to you.
the last thing I want to see is some pasty-faced geek with skin so pale that it's almost translucent trying to bump parts with a partner - John Simmons / outlaw programmer
Deja View - the feeling that you've seen this post before.
|
|
|
|
|
you either need to call new to create a new object or make a call that calls new on an object.
Think of the Color object
Color myColor = Color.Red;
Or the dataReader
DataReader myDataReader = myCommand.ExecuteReader();
The DataReader is easier to explain
There is a method on the command object that looks something like:
public DataReader ExecuteReader()
{
Some code.....
DataReader returnReader = new DataReader();
Some more code....
return returnReader;
}
I assume that the DataReader() constructor is private or internal so can't be called by me but the DataReader can use it fine.
For the Color example:
There will be a property like:
public static Color Red
{
get
{
return new Color(255,0,0);
}
}
You don't write new in either case but new has been called somewhere on your behalf.
HTH
Russ
|
|
|
|
|
Hello,
new is a keyword used to create objects in the memory. Yes, it is only used for declaring reference types.
new allocates memory in the heap for the object and after allocation returns its reference ( memory address ) back to the stack. you can then store that refernce in your object reference.
About DataReader, yes it is correct. new is called inside ExecuteDataReader, so you can not see it.
I hope it helps you.
Kindest Regards,
|
|
|
|
|
interface Mirror wrote: Yes, it is only used for declaring reference types.
No, Value types and reference types.
|
|
|
|
|
J4amieC wrote: interface Mirror wrote:
Yes, it is only used for declaring reference types.
No, Value types and reference types.
You can declare without new .
And everything in .net is an object, so int x = new int() ; is valid, but unnecessary.
Essentially, new calls the constructor of a class (or struct) to create a new instance of that class (or struct). In the case of Command.ExecuteReader() that call is made inside ExecuteReader to save you from the details.
You may also be used to creating the Command object with new , but you don't have to, the Connection has a CreateCommand method that will do that for you. I wish the Command object had a method to create a DataAdapter too
|
|
|
|
|
interface Mirror wrote: new is a keyword used to create objects in the memory. Yes, it is only used for declaring reference types.
new allocates memory in the heap for the object and after allocation returns its reference ( memory address ) back to the stack. you can then store that refernce in your object reference.
The new keyword can also be used to create values of a value type. In that case it won't create an object on the heap, it will just return the value.
---
It's amazing to see how much work some people will go through just to avoid a little bit of work.
|
|
|
|
|
Hi guys. Thanks for your help. One thing remians unclear which I would like Guffa to clarify please. Why is it necessary to use new while declaring a point like in window forms we have.
this.button1.Location = new System.Drawing.Point(32, 56);
if I remove new it gives error while Point is a struct (a value type which does not require new )
Please clarify my doubt.
Thanks
Don't Quit
|
|
|
|
|
The built-in value types does not need a constructor, as the compiler already knows how to create the values. For any user defined value type, though, you need a constructor to create a value.
A structure always has a parameterless constructor, that you can use to create a zero initalised value. If you declare a structure as a member variable of a class, it will also be zero initalised. If the structure is mutable (like the Point structire), you can then change the members of the structure value. If the structire is not mutable, using a constructor is the only way to create a value.
A constructor for a structure is a bit different from a constructor for a class, as it doesn't allocate memory for an object instance, it just returns the created value. A class constructor returns the reference to the allocated object, while a structure constructor returns the actual value.
The new keyword is used to call a constructor, regardless if you use it on a structure or a class. You can't call a constructor without the new keyword.
---
It's amazing to see how much work some people will go through just to avoid a little bit of work.
|
|
|
|
|
1. why do overloaded operators have to be static?
2. why do they have to be unary?
3. why does the overloaded operator being static imply that they are never polymorphic? (my attempt at answering #3: is it because since they are static you don't need an instance and therefore it can never change behaviour at runtime since you don't need an instance (just the class) to call the operator... meaning there is no opportunity to override this operator on derived class since it is class-based not instance based.
4. why is it recommended that operators are overloaded only on value types?
5. finally, why would i implement the postfix operator differently for a class than for a struct?
ps. these aren't assignment questions, i am trying to learn c# without a book. what books wou=ld you recommend? i am thinking of buying 3: 1) clr via c# 2) visual c# 2005 by Francesco Balena 3) inside c#
tia!
-- modified at 7:25 Thursday 21st December, 2006
|
|
|
|
|
j11Software wrote: 1. why do overloaded operators have to be static?
They get passed the values upon which to act -- e.g. a+b ==> operator+(a,b)
j11Software wrote: 2. why do they have to be unary?
They don't, they may be binary.
j11Software wrote: 3. why does the overloaded operator being static imply that they are never polymorphic?
Static methods can't be virtual.
j11Software wrote: 4. why is it recommended that operators are overloaded only on value types?
Never heard of that. Use them wherever they make sense.
j11Software wrote: 5. finally, why would i implement the postfix operator differently for a class than for a struct?
What's a postfix operator?
|
|
|
|
|
The characteristics of operator overloading are what they are by design.
One of the main goals must have been to avoid confusion.
Hence, overloaded operators are:
- static (int+int performs addition irrespective of numeric values, so obj+obj should
do that too)
- either unary or binary (you can define obj-obj as well as -obj)
- similar in precedence as for numeric operations (* before +)
All of this makes the source code stays readable and intuitive.
So operator overloading is just fine for classes such as complex numbers,
big integers, etc, and anything really fancy is prohibited.
For a good example, take a look at http://www.codeproject.com/csharp/biginteger.asp[^]
Luc Pattyn
|
|
|
|
|
Hi all
I am developing one installation wizard. I have one issue. If i click the next button I made the current form visible = false and creating instance for the next from and showing the form. There problem I facing is, I dont know how to show the previous form by hidding the current form. Can anybody help me please....
Thanks
kesavan
kesavan
|
|
|
|
|
Hello,
You could use a property Form1 in youre Form2, which is set by Form1.
private Form myform1;
public Form MyForm1
{
get
{
return myform1;
}
set
{
myform1 = value;
}
}
{
MyForm1.Visible=true;
MyForm1=null;
this.Close();
}
{
Form2 form2 = new Form2()
form2.MyForm1 = this;
}
All the best,
Martin
|
|
|
|
|
Thank you so much martin. I have done with your help
kesavan
|
|
|
|