|
static is static across AppDomains. AFAIK, ASP.NET creates a separate AppDomain for each application and so everyone who runs a particular page must get the same value.
I don't know if ASP.NET will unload appdomains during heavy load and reload them later, if that's true, then your static variables will be gone.
Regards
Senthil
_____________________________
My Blog | My Articles | WinMacro
|
|
|
|
|
Everyone who runs an instance of a particular page can modify the variable. Each session gets it own copy of shared property.
Sanjay Sansanwal
www.sansanwal.com
|
|
|
|
|
If you are running your web application on multiple web servers, the static data will be local to each server
60% of statistics are made up on the spot
|
|
|
|
|
Ladies and Gentlemen, I am STUCK!
This is just a test webservice. All I want to do is get the unitprice from the Products table and multiply it by the "howmany" variable.
I'm stumped at how to get the Unitprice out of the dataset.
Here's the code:
[WebMethod]
public float HowMuchWillItCost(string productName, int howMany)
{
try
{
sqlDA.SelectCommand.CommandText = "SELECT UnitPrice from PRODUCTS WHERE ProductName = '" + productName + "'";
sqlDA.Fill(ds11, "price");
float price;
price = (float)ds11.Tables["Products"].Rows[0]["UnitPrice"];
return price * howMany;
}
catch(Exception e)
{
throw new Exception("Error calculating cost: " + e.Message);
}
}
|
|
|
|
|
When posting some problem its always good if you also post the error message and probably also a stack trace.
I think your problem lies in the Fill statement. Try to take the same name when accessing the Tables property:
sqlDA.Fill(ds11, "Products");
Also check for the data types in the result. Its always safer to use Convert instead of just casting:
price = Convert.ToSingle(ds11.Tables["Products"].Rows[0]["UnitPrice"]);
Its also a good idea to check for DbNull before doing this.
|
|
|
|
|
I appreciate your help. I'll give it a try.
|
|
|
|
|
That worked like a charm. Thanks!
If you happen to stop by again, could you point me to an easy way to cycle through a dataset?
Easy in the relative sense of the word.
Muchos gracias.
|
|
|
|
|
Ok. First of all one DataSet can consist of several tables which can be accessed (like you already did in your example) with the Tables property. You can also iterate through all tables with
foreach (DataTable dt in myDataSet.Tables) {
}
When you have one DataTable object you can then iterate through its rows:
foreach (DataRow dr in myDataTable.Rows) {
}
You can access the vakues of each DataRow via its indexer which accepts either the index of the column you want to access or its name. You can also use the ItemArray property to retrieve all items in one array.
An example to just print out every value of every row of every table in a DataSet (what a sentence ) could be:
foreach (DataTable dt in myDataSet){
Console.WriteLine("Printing Table: " + dt.TableName);
foreach (DataRow dr in dt.Rows) {
Console.Write("Row: ");
object[] data = dr.ItemArray;
for (int i = 0; i < data.Length; i++) {
Console.Write(data[i].ToString());
}
Console.WriteLine("");
}
}
|
|
|
|
|
This problem might have a simple answer but I can't figure it out. I have a richTextBox in which I am trying to implement a keyPress event. The event seems to fire every time a key is pressed except for when I press the DELETE key. Anyone know why this key will not fire the event? Any suggestions on how to create an event for the DELETE key? Any help would be appreciated. Thanks!
|
|
|
|
|
I don't know if it's a bug but yeah, Delete doesn't trigger a KeyPressed. You have to subscribe to the KeyDown event for that.
Regards
Senthil
_____________________________
My Blog | My Articles | WinMacro
|
|
|
|
|
Oh, the keydown event does fire for the DELETE key. Thanks!
|
|
|
|
|
Dear Friends
I am developing my first program in C# when I have created the database connectivity in C# as below
SqlConnection mysqlconnection = new SqlConnection("server=murtuza; Trusted_connection=Yes;database=northwind");
OleDbConnection myconn = new OleDbConnection (@"Provider=SQLOLEDB.1;Integrated Security=SSPI;Initial Catalog=company;data source=murtuza;initial catalog=northwind;integrated security=SSPI;workstation id=ACER-157FBA01C8;packet size=4096");
OleDbCommand mycmmd= new OleDbCommand (myselect, myconn);
myconn.Open();
OleDbDataReader myreader;
myreader= mycmmd.ExecuteReader();
when i reach the myreader= mycmmd.ExecuteReader(); this statment i am getting error please can u tell me the simple way to connect to a sql server database
|
|
|
|
|
I'm confused by the use of SqlConnection in your first code example and OleDbConnection in your second.
And what is the error? Is it a connection error, or an error with your select statement?
Put a try-catch block around the ExecuteReader and inspect the Exception.Message property.
Marc
MyXaml
Advanced Unit Testing
YAPO
|
|
|
|
|
I'm not only confused by your usage of two connections but I'm also unclear what the error could be. Especially with client/server systems there could be any number of errors that are legitamate and at multiple locations. Please provide more information.
|
|
|
|
|
I am working with a fixed length file that I will be parsing at run time and inserting into a SQL table. I would like to store the insert statements in a table. The problem with this is that the file contains some EBCDIC characters that need to be converted to ASCII before inserting into the database. There are also other functions that need to be carried out on other fields before the data is pushed into the database tables. I don't want to hard code the insert statements as the file layout could change and it would be easier to change the insert statements than it would be to change and redistribute the program. Is there a way to evaluate the functions in the insert statements at run time?
|
|
|
|
|
JMichael2468 wrote:
There are also other functions that need to be carried out on other fields before the data is pushed into the database tables.
Do you mean, functions that have been coded in C# that you want to call, or SQL functions?
If the former, you can use reflection. If the latter, well, I don't know.
Marc
MyXaml
Advanced Unit Testing
YAPO
|
|
|
|
|
I want to Upload a file.
Here is my code..
Page 1:
WebClient client = new WebClient();
client.UploadFile( "http://ft-rt-005/test/upload1.aspx","POST","G:\\Water lilies.jpg");
Page 2:
foreach(string f in Request.Files.AllKeys)
{
HttpPostedFile file = Request.Files[f];
file.SaveAs(Server.MapPath(".\\upload\\"+ file.FileName));
}
I am uploading a file to Page 2 using client.UploadFile().From Page 2 ,i am saving to the server.But whenever client.UploadFile() is invoked,my application searches the file in server.It is not searching in the client machine.
I want to upload from the client machine.Can anybody help me..
Thanks
Ramesh
|
|
|
|
|
i use this code to set the text of a second form from within another:
public string labelTitoloText
{
set
{
this.labelTitolo.Text = value;
}
}
but i get a compiler error until i use the keyword "static":
public static string labelTitoloText
{
set
{
this.labelTitolo.Text = value;
}
}
why?
|
|
|
|
|
static implies that the member method or field does not belong to any object but to the type itself but is available to all objects due to it. In short, there is no concept of "this " for something tagged static .
|
|
|
|
|
If you declare something static it means that you don't (as a matter of fact you can't) instantiate it before you use it. One of my favorite examples of the use of static is say you are writting a class that keeps track of how many instances of that particular object exists. Inside that class you declare a static variable that will have an initial value of zero. In the constructor of your object you increment that static variable by one and in the destructor you decrement that static variable by one to reflect the creation/destruction of your objects. Now, since it's a static variable you can't increment using the "this" keyword since that will refer to an instance variable. You need to use a the actual class name and then static variable to increment it to be like: MyClass.instance++ or MyClass.instance-- And since its a static variable that all of your classes "share" you could query that static variable from any of your instantiated objects because they will all have the same value.
Here's MSDN explanation of the keyword static: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/csref/html/vclrfstaticpg.asp
|
|
|
|
|
|
Hi
my program updates only farm name I want to search through loop farm name and it should
update address,
user and password from the existing file name
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load("c:/farm-config.xml");
XmlNode farm=xmldoc.SelectSingleNode("/root/farm-config/farm/@name");
MessageBox.Show(farm.InnerText);
farm.InnerText="devxcv1";
MessageBox.Show(farm.InnerXml);
xmldoc.Save("c:/farm-config.xml");
My XMl strucutrue is as given below
<?xml version="1.0" encoding="UTF-8"?>
<root>
<farm-config>
<farm name="sanjay">
<connection address="127.0.0.1" user="dog" password="cat">
<lastjob>Copy-All</lastjob>
<lastconnection startdate="2005-05-10" starttime="12:43:23" enddate="2005-05-10" endtime="12:58:32" />
<state>1</state>
</connection>
</farm>
<farm name="ram">
<connection address="localhost" user="root" selectedConnection="1" password="daask">
<lastJob>Copy-All</lastJob>
<lastConnection startdate="2005-05-10" starttime="12:43:23" enddate="2005-05-10" endtime="12:58:32" />
<state>1</state>
</connection>
</farm>
</farm-config>
</root>
--- supoose i want to find thr loop ram and i want o change address,user and password attribues value thr loop
if i change it changes the upper ones farm name=sanjay 's address,user and password
regards
sanjeev
|
|
|
|
|
Hi!
I have a class that looks like this:
using System;
using System.Collections;
namespace AreaData
{
[Serializable()]
public class Wrapper
{
ArrayList _Data = new ArrayList();
int _MovieLength = 0;
public Wrapper()
{
}
public Wrapper(ArrayList a, int l)
{
_Data = a;
_MovieLength = l;
}
public ArrayList Data
{
get{return _Data;}
}
public int MovieLength
{
get{return _MovieLength;}
set{_MovieLength = value;}
}
}
}
In my mainform I have a datagrid which is bound to the ArrayList of this class. Everything works fine, except when I try to change a value in the datagrid at runtime, then at first the change doesnt commit, and after that when I click somewhere else I get an error box:
"Error when committing the row to the original data store"
Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index. Do you want to correct the value?
Everyting works fine, when the arraylist is located in the same class as the datagrid!
Any solution to this would be really appreciated!
thanks
/Rickard
|
|
|
|
|
//how to override WndProc()
Form aForm = new Form()
// after this call, aFrom's WndProc() method are replaced by a another func
aForm.foo();
public foo()
{
// code to override WndProc
}
Can anyone help?
|
|
|
|
|
You mean, like:
class MyForm : Form
{
protected override void WndProc(ref Message m)
{
}
}
The virtual method is defined in Control, which Form derives from.
Marc
MyXaml
Advanced Unit Testing
YAPO
|
|
|
|