473,473 Members | 1,893 Online
Bytes | Software Development & Data Engineering Community
Create Post

Home Posts Topics Members FAQ

Logging Class - Instance or Static

I have a logging component that I will access in other assemblies. So it was
brought up to me that I should pass an instance around to these components
instead of just making the logging class static. If I make it static I
wouldn't need to
pass an instance around. What is your take on this?
Jun 27 '07 #1
19 6047
JJ wrote:
I have a logging component that I will access in other assemblies. So it
was brought up to me that I should pass an instance around to these
components instead of just making the logging class static. If I make it
static I wouldn't need to
pass an instance around. What is your take on this?
Hi,

An important decision, and it depends on your needs. Does your class need
to retain state? How complicated is it? How memory-hungry is it?

--
Tom Spink
University of Edinburgh
Jun 27 '07 #2
Its a pretty simple class that will send emails, write to eventlog or to a
file. My thinking is if I pass an instance around and it gets passed down a
chain of about 3 classes then I will have multiple refs to my logging class
and I am wondering if that is the proper coding technique to be using here?
Does your class need
to retain state?
No my class doesn't need to retain state but if I make it static I can just
refer to directly from any where without having refs to it.

"Tom Spink" wrote:
JJ wrote:
I have a logging component that I will access in other assemblies. So it
was brought up to me that I should pass an instance around to these
components instead of just making the logging class static. If I make it
static I wouldn't need to
pass an instance around. What is your take on this?

Hi,

An important decision, and it depends on your needs. Does your class need
to retain state? How complicated is it? How memory-hungry is it?

--
Tom Spink
University of Edinburgh
Jun 27 '07 #3
On Jun 27, 10:30 am, JJ <J...@discussions.microsoft.comwrote:
I have a logging component that I will access in other assemblies. So it was
brought up to me that I should pass an instance around to these components
instead of just making the logging class static. If I make it static I
wouldn't need to
pass an instance around. What is your take on this?
Have you seen the Microsoft Enterprise ApplicationBlocks? There is a
logging block that should meet your needs. You might want to either
use this instead or model your component after it (the source code is
provided).

http://msdn2.microsoft.com/en-us/library/aa480464.aspx
Jun 27 '07 #4
I would recomend to use a Singleton class here.
This means a static GetInstance method which only instanciates the class
once and gives this instance back.

"JJ" wrote:
I have a logging component that I will access in other assemblies. So it was
brought up to me that I should pass an instance around to these components
instead of just making the logging class static. If I make it static I
wouldn't need to
pass an instance around. What is your take on this?
Jun 27 '07 #5
I would check out the Microsoft Enterprise Application Block first.

If it doesn't suit your needs, or you don't have time to study it,
then I would side with Martin: create a logging instance class, then
create a static method that returns a (singleton) instance of it. I
would also create a logging interface and have the static method
return that type.

The logic behind this is that you can then (if you want to) create
other logging classes that implement the same interface but log in
different ways, and swap them out with a minimum of fuss.

On Jun 27, 8:20 am, Martin# <Mart...@discussions.microsoft.comwrote:
I would recomend to use a Singleton class here.
This means a static GetInstance method which only instanciates the class
once and gives this instance back.

"JJ" wrote:
I have a logging component that I will access in other assemblies. So it was
brought up to me that I should pass an instance around to these components
instead of just making the logging class static. If I make it static I
wouldn't need to
pass an instance around. What is your take on this?- Hide quoted text -

- Show quoted text -

Jun 27 '07 #6
So in using a singleton I am going to call it directly like so,
singletonClass.Instance().method;
and with using a singleton I don't have to pass it around from class to
class, I can just call it as above, correct?

"Martin#" wrote:
I would recomend to use a Singleton class here.
This means a static GetInstance method which only instanciates the class
once and gives this instance back.

"JJ" wrote:
I have a logging component that I will access in other assemblies. So it was
brought up to me that I should pass an instance around to these components
instead of just making the logging class static. If I make it static I
wouldn't need to
pass an instance around. What is your take on this?
Jun 27 '07 #7
Hello,

A singleton method looks normaly like this.

private static MyClass instance = null;
public static MyClass GetInstance()
{
if(instance==null)
{
instance = new MyClass(); //Only done once
}
// You can do other stuff here
// For example calling some Init methods
return instance;
}

And will be called like this:
Your.Full.Namespace.MyClass myreferencetomyclass =
Your.Full.Namespace.MyClass.GetInstance();

Hop it helps!

All the best,

Martin
"JJ" wrote:
So in using a singleton I am going to call it directly like so,
singletonClass.Instance().method;
and with using a singleton I don't have to pass it around from class to
class, I can just call it as above, correct?

"Martin#" wrote:
I would recomend to use a Singleton class here.
This means a static GetInstance method which only instanciates the class
once and gives this instance back.

"JJ" wrote:
I have a logging component that I will access in other assemblies. So it was
brought up to me that I should pass an instance around to these components
instead of just making the logging class static. If I make it static I
wouldn't need to
pass an instance around. What is your take on this?
Jun 28 '07 #8
Martin# <Ma****@discussions.microsoft.comwrote:
A singleton method looks normaly like this.

private static MyClass instance = null;
public static MyClass GetInstance()
{
if(instance==null)
{
instance = new MyClass(); //Only done once
}
// You can do other stuff here
// For example calling some Init methods
return instance;
}
Except that's not thread-safe. It's simpler to use a static
initializer.

See http://pobox.com/~skeet/csharp/singleton.html

--
Jon Skeet - <sk***@pobox.com>
http://www.pobox.com/~skeet Blog: http://www.msmvps.com/jon.skeet
If replying to the group, please do not mail me too
Jun 28 '07 #9
Good point for the concept!

But what I meant was alittle more custom specific.
For example if the sender is passed as a parameter, there would be the write
place to forward it to the accurate method.

All the best,

Martin

"Jon Skeet [C# MVP]" wrote:
Martin# <Ma****@discussions.microsoft.comwrote:
A singleton method looks normaly like this.

private static MyClass instance = null;
public static MyClass GetInstance()
{
if(instance==null)
{
instance = new MyClass(); //Only done once
}
// You can do other stuff here
// For example calling some Init methods
return instance;
}

Except that's not thread-safe. It's simpler to use a static
initializer.

See http://pobox.com/~skeet/csharp/singleton.html

--
Jon Skeet - <sk***@pobox.com>
http://www.pobox.com/~skeet Blog: http://www.msmvps.com/jon.skeet
If replying to the group, please do not mail me too
Jun 28 '07 #10
You wouldn't necessarily create one ref to singleton and pass it around to
the different classes. I figure I would get a ref to getInstance whenever I
would need it and destroy it after I am done using it in each class. Is that
how you guys would use it?

"Martin#" wrote:
Hello,

A singleton method looks normaly like this.

private static MyClass instance = null;
public static MyClass GetInstance()
{
if(instance==null)
{
instance = new MyClass(); //Only done once
}
// You can do other stuff here
// For example calling some Init methods
return instance;
}

And will be called like this:
Your.Full.Namespace.MyClass myreferencetomyclass =
Your.Full.Namespace.MyClass.GetInstance();

Hop it helps!

All the best,

Martin
"JJ" wrote:
So in using a singleton I am going to call it directly like so,
singletonClass.Instance().method;
and with using a singleton I don't have to pass it around from class to
class, I can just call it as above, correct?

"Martin#" wrote:
I would recomend to use a Singleton class here.
This means a static GetInstance method which only instanciates the class
once and gives this instance back.
>
"JJ" wrote:
>
I have a logging component that I will access in other assemblies. So it was
brought up to me that I should pass an instance around to these components
instead of just making the logging class static. If I make it static I
wouldn't need to
pass an instance around. What is your take on this?
Jun 28 '07 #11
Hello,

Yes, you don't have to pass around it, cause every class can call the
GetInstance().
"destroy" as you sayed, is only a "null" set .

All the best,

Martin

"JJ" wrote:
You wouldn't necessarily create one ref to singleton and pass it around to
the different classes. I figure I would get a ref to getInstance whenever I
would need it and destroy it after I am done using it in each class. Is that
how you guys would use it?

"Martin#" wrote:
Hello,

A singleton method looks normaly like this.

private static MyClass instance = null;
public static MyClass GetInstance()
{
if(instance==null)
{
instance = new MyClass(); //Only done once
}
// You can do other stuff here
// For example calling some Init methods
return instance;
}

And will be called like this:
Your.Full.Namespace.MyClass myreferencetomyclass =
Your.Full.Namespace.MyClass.GetInstance();

Hop it helps!

All the best,

Martin
"JJ" wrote:
So in using a singleton I am going to call it directly like so,
singletonClass.Instance().method;
and with using a singleton I don't have to pass it around from class to
class, I can just call it as above, correct?
>
"Martin#" wrote:
>
I would recomend to use a Singleton class here.
This means a static GetInstance method which only instanciates the class
once and gives this instance back.

"JJ" wrote:

I have a logging component that I will access in other assemblies. So it was
brought up to me that I should pass an instance around to these components
instead of just making the logging class static. If I make it static I
wouldn't need to
pass an instance around. What is your take on this?
Jun 28 '07 #12
Thank you all!

"Martin#" wrote:
Hello,

Yes, you don't have to pass around it, cause every class can call the
GetInstance().
"destroy" as you sayed, is only a "null" set .

All the best,

Martin

"JJ" wrote:
You wouldn't necessarily create one ref to singleton and pass it around to
the different classes. I figure I would get a ref to getInstance whenever I
would need it and destroy it after I am done using it in each class. Is that
how you guys would use it?

"Martin#" wrote:
Hello,
>
A singleton method looks normaly like this.
>
private static MyClass instance = null;
public static MyClass GetInstance()
{
if(instance==null)
{
instance = new MyClass(); //Only done once
}
// You can do other stuff here
// For example calling some Init methods
return instance;
}
>
And will be called like this:
Your.Full.Namespace.MyClass myreferencetomyclass =
Your.Full.Namespace.MyClass.GetInstance();
>
Hop it helps!
>
All the best,
>
Martin
"JJ" wrote:
>
So in using a singleton I am going to call it directly like so,
singletonClass.Instance().method;
and with using a singleton I don't have to pass it around from class to
class, I can just call it as above, correct?

"Martin#" wrote:

I would recomend to use a Singleton class here.
This means a static GetInstance method which only instanciates the class
once and gives this instance back.
>
"JJ" wrote:
>
I have a logging component that I will access in other assemblies. So it was
brought up to me that I should pass an instance around to these components
instead of just making the logging class static. If I make it static I
wouldn't need to
pass an instance around. What is your take on this?
Jun 28 '07 #13
Oh, and GetInstance() might be better implemented in C# as an Instance
property. I think it reads better:

Logger.Instance.Log(...);

versus

Logger.GetInstance().Log(...);

On Jun 28, 6:32 am, Martin# <Mar...@discussions.microsoft.comwrote:
Hello,

Yes, you don't have to pass around it, cause every class can call the
GetInstance().
"destroy" as you sayed, is only a "null" set .

All the best,

Martin

"JJ" wrote:
You wouldn't necessarily create one ref to singleton and pass it around to
the different classes. I figure I would get a ref to getInstance whenever I
would need it and destroy it after I am done using it in each class. Is that
how you guys would use it?
"Martin#" wrote:
Hello,
A singleton method looks normaly like this.
private static MyClass instance = null;
public static MyClass GetInstance()
{
if(instance==null)
{
instance = new MyClass(); //Only done once
}
// You can do other stuff here
// For example calling some Init methods
return instance;
}
And will be called like this:
Your.Full.Namespace.MyClass myreferencetomyclass =
Your.Full.Namespace.MyClass.GetInstance();
Hop it helps!
All the best,
Martin
"JJ" wrote:
So in using a singleton I am going to call it directly like so,
singletonClass.Instance().method;
and with using a singleton I don't have to pass it around from class to
class, I can just call it as above, correct?
"Martin#" wrote:
I would recomend to use a Singleton class here.
This means a static GetInstance method which only instanciates the class
once and gives this instance back.
"JJ" wrote:
I have a logging component that I will access in other assemblies. So it was
brought up to me that I should pass an instance around to these components
instead of just making the logging class static. If I make it static I
wouldn't need to
pass an instance around. What is your take on this?- Hide quoted text -

- Show quoted text -

Jun 28 '07 #14
On Jun 28, 2:04 pm, Bruce Wood <brucew...@canada.comwrote:
Oh, and GetInstance() might be better implemented in C# as an Instance
property. I think it reads better:

Logger.Instance.Log(...);

versus

Logger.GetInstance().Log(...);

On Jun 28, 6:32 am, Martin# <Mar...@discussions.microsoft.comwrote:
Hello,
Yes, you don't have to pass around it, cause every class can call the
GetInstance().
"destroy" as you sayed, is only a "null" set .
All the best,
Martin
"JJ" wrote:
You wouldn't necessarily create one ref to singleton and pass it around to
the different classes. I figure I would get a ref to getInstance whenever I
would need it and destroy it after I am done using it in each class. Is that
how you guys would use it?
"Martin#" wrote:
Hello,
A singleton method looks normaly like this.
private static MyClass instance = null;
public static MyClass GetInstance()
{
if(instance==null)
{
instance = new MyClass(); //Only done once
}
// You can do other stuff here
// For example calling some Init methods
return instance;
}
And will be called like this:
Your.Full.Namespace.MyClass myreferencetomyclass =
Your.Full.Namespace.MyClass.GetInstance();
Hop it helps!
All the best,
Martin
"JJ" wrote:
So in using a singleton I am going to call it directly like so,
singletonClass.Instance().method;
and with using a singleton I don't have to pass it around from class to
class, I can just call it as above, correct?
"Martin#" wrote:
I would recomend to use a Singleton class here.
This means a static GetInstance method which only instanciates the class
once and gives this instance back.
"JJ" wrote:
I have a logging component that I will access in other assemblies. So it was
brought up to me that I should pass an instance around to these components
instead of just making the logging class static. If I make it static I
wouldn't need to
pass an instance around. What is your take on this?- Hide quoted text -
- Show quoted text -- Hide quoted text -

- Show quoted text -
Why don't you use a simple static method in a static class (if you are
using .NET Framework 2.0)?
I think the singleton instance, in this case, is completely useless.

Regards,
Fernando

Jun 29 '07 #15
Hi,
"Martin#" <Ma*****@discussions.microsoft.comwrote in message
news:7A**********************************@microsof t.com...
>I would recomend to use a Singleton class here.
This means a static GetInstance method which only instanciates the class
once and gives this instance back.
Why singleton over a static class?

The only reason I can think of is if you want to be able to change the
logging tool under need, let's say from EventLog to a file.

Jun 29 '07 #16
Hi,

"JJ" <JJ@discussions.microsoft.comwrote in message
news:1B**********************************@microsof t.com...
>I have a logging component that I will access in other assemblies. So it
was
brought up to me that I should pass an instance around to these components
instead of just making the logging class static. If I make it static I
wouldn't need to
pass an instance around. What is your take on this?
If you use it in different assemblies you will have to place it in a
separate assembly that all other projects will need to add a reference to.

Regarding your question, I have a similar situation, I decided to use a
static class and based on a flag I use either the EventLog or dump it to a
file.

Agreed, my environment is simple, if you have a dynamic environment you
should implement something more fancy like a Factory.
Jun 29 '07 #17
Hi,

"JJ" <JJ@discussions.microsoft.comwrote in message
news:67**********************************@microsof t.com...
Its a pretty simple class that will send emails, write to eventlog or to a
file. My thinking is if I pass an instance around and it gets passed down
a
chain of about 3 classes then I will have multiple refs to my logging
class
and I am wondering if that is the proper coding technique to be using
here?
I will definetely will not pass an instance around. A logging class makes
sense to have it accesible from all over the app, I would select either a
static class or a Singleton
Jun 29 '07 #18
Hi,

"Fernando Botelho" <fe********@gmail.comwrote in message
news:11*********************@k29g2000hsd.googlegro ups.com...
On Jun 28, 2:04 pm, Bruce Wood <brucew...@canada.comwrote:
>Oh, and GetInstance() might be better implemented in C# as an Instance
property. I think it reads better:

Logger.Instance.Log(...);

versus

Logger.GetInstance().Log(...);

On Jun 28, 6:32 am, Martin# <Mar...@discussions.microsoft.comwrote:
Hello,
Yes, you don't have to pass around it, cause every class can call the
GetInstance().
"destroy" as you sayed, is only a "null" set .
All the best,
Martin
"JJ" wrote:
You wouldn't necessarily create one ref to singleton and pass it
around to
the different classes. I figure I would get a ref to getInstance
whenever I
would need it and destroy it after I am done using it in each class.
Is that
how you guys would use it?
"Martin#" wrote:
Hello,
A singleton method looks normaly like this.
private static MyClass instance = null;
public static MyClass GetInstance()
{
if(instance==null)
{
instance = new MyClass(); //Only done once
}
// You can do other stuff here
// For example calling some Init methods
return instance;
}
And will be called like this:
Your.Full.Namespace.MyClass myreferencetomyclass =
Your.Full.Namespace.MyClass.GetInstance();
Hop it helps!
All the best,
Martin
"JJ" wrote:
So in using a singleton I am going to call it directly like so,
singletonClass.Instance().method;
and with using a singleton I don't have to pass it around from
class to
class, I can just call it as above, correct?
"Martin#" wrote:
I would recomend to use a Singleton class here.
This means a static GetInstance method which only instanciates
the class
once and gives this instance back.
"JJ" wrote:
I have a logging component that I will access in other
assemblies. So it was
brought up to me that I should pass an instance around to
these components
instead of just making the logging class static. If I make it
static I
wouldn't need to
pass an instance around. What is your take on this?- Hide
quoted text -
- Show quoted text -- Hide quoted text -

- Show quoted text -

Why don't you use a simple static method in a static class (if you are
using .NET Framework 2.0)?
I think the singleton instance, in this case, is completely useless.

Not really, if the logging facility change dynamically (file, eventlog,
email, SMS, etc) you will want a Factory that build the concrete class
according some parameters:

class Log
{
ILog current;
static public ILog GetLogger{ get{return current;}}
static Log()
{
switch ( flag)
{
case Email: current = new EmailLogger();break;
case Eventlog: current = new EL_Logger();break;
case textl: current = new FileLogger();break;
}
}
}
interface ILog{ void Log(......);}
class EmailLogger:ILog{}
.....
Jun 29 '07 #19
On Jun 29, 12:22 pm, "Ignacio Machin \( .NET/ C# MVP \)" <machin TA
laceupsolutions.comwrote:
Hi,

"Fernando Botelho" <fernand...@gmail.comwrote in message

news:11*********************@k29g2000hsd.googlegro ups.com...


On Jun 28, 2:04 pm, Bruce Wood <brucew...@canada.comwrote:
Oh, and GetInstance() might be better implemented in C# as an Instance
property. I think it reads better:
Logger.Instance.Log(...);
versus
Logger.GetInstance().Log(...);
On Jun 28, 6:32 am, Martin# <Mar...@discussions.microsoft.comwrote:
Hello,
Yes, you don't have to pass around it, cause every class can call the
GetInstance().
"destroy" as you sayed, is only a "null" set .
All the best,
Martin
"JJ" wrote:
You wouldn't necessarily create one ref to singleton and pass it
around to
the different classes. I figure I would get a ref to getInstance
whenever I
would need it and destroy it after I am done using it in each class.
Is that
how you guys would use it?
"Martin#" wrote:
Hello,
A singleton method looks normaly like this.
private static MyClass instance = null;
public static MyClass GetInstance()
{
if(instance==null)
{
instance = new MyClass(); //Only done once
}
// You can do other stuff here
// For example calling some Init methods
return instance;
}
And will be called like this:
Your.Full.Namespace.MyClass myreferencetomyclass =
Your.Full.Namespace.MyClass.GetInstance();
Hop it helps!
All the best,
Martin
"JJ" wrote:
So in using a singleton I am going to call it directly like so,
singletonClass.Instance().method;
and with using a singleton I don't have to pass it around from
class to
class, I can just call it as above, correct?
"Martin#" wrote:
I would recomend to use a Singleton class here.
This means a static GetInstance method which only instanciates
the class
once and gives this instance back.
"JJ" wrote:
I have a logging component that I will access in other
assemblies. So it was
brought up to me that I should pass an instance around to
these components
instead of just making the logging class static. If I make it
static I
wouldn't need to
pass an instance around. What is your take on this?- Hide
quoted text -
- Show quoted text -- Hide quoted text -
- Show quoted text -
Why don't you use a simple static method in a static class (if you are
using .NET Framework 2.0)?
I think the singleton instance, in this case, is completely useless.

Not really, if the logging facility change dynamically (file, eventlog,
email, SMS, etc) you will want a Factory that build the concrete class
according some parameters:

class Log
{
ILog current;
static public ILog GetLogger{ get{return current;}}
static Log()
{
switch ( flag)
{
case Email: current = new EmailLogger();break;
case Eventlog: current = new EL_Logger();break;
case textl: current = new FileLogger();break;}
}
}

interface ILog{ void Log(......);}
class EmailLogger:ILog{}
....- Hide quoted text -

- Show quoted text -
Hi Ignacio,

..NET 2.0 have some facilities to work with logging, based on
configuration files (*.config's). You don't need to switch which
logging class use based on a flag passed from client classes.
Instead, .NET Framework 2.0 have classes (namespace
System.Diagnostics) that abstract this job for us. For more
information, take a look at http://msdn2.microsoft.com/en-us/lib...agnostics.aspx

What I want to say, is that your (static) class can abstract the BLC
methods to do this kind of job, instead of create instance class (the
unique advantage from this is that you can decide, based on an commom
interface, which class to use) and verify other things about log
source etc.

ps.: sorry by my poor english. my natural language is another one.

Jun 29 '07 #20

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

1
by: Huzefa | last post by:
I am working on a amll project in Java that includes many classes. Each of the classes has a Logger object. I have associated a FileHandler with each of these Logger objects. The file is the same...
8
by: Steve Erickson | last post by:
I have a logger class that uses the Python logging module. When I call it within a program using the unittest module, I get one line in the log file for the first test, two identical ones for the...
1
by: Spur | last post by:
Hi all, I implemented a memory allocation/deallocation class that logs all new/delete calls (overloaded) and remembers for each allocated block where it was allocated from (using a macro that...
6
by: pmatos | last post by:
Hi all, I am trying to create a simple but efficient C++ logging class. I know there are lots of them out there but I want something simple and efficient. The number one requirement is the...
4
by: Daniel Bass | last post by:
Hi, I've a situation where my application has to manage usernames and passwords, and after a certain amount of idle time, the application will log the current user out, (assuming they've left...
2
by: Chumma Dede | last post by:
Hi, I need to code a DLL in .NET which logs the response times for our asp.net multi-tier application. The problem is we need to log the timestamps at multiple stages in a process lifecycle...
3
by: Chris Smith | last post by:
Hola, pythonisas: The documentation for the logging module is good, but a bit obscure. In particular, there seems to be a lot of action at a distance. The fact that getLogger() can actually be a...
1
by: BobLaughland | last post by:
Hi All, I am development an ASP .NET C# web site. Just wondering the best way to implement logging on my web site. (I have a logging class to log database access, exceptions, etc, etc). I...
12
by: Eric S. Johansson | last post by:
I need to to be able to conditionally log based on the method the log statement is in and one other factor like a log level. in order to do so, I need to be able to automatically find out the name...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
1
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
1
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
0
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...
1
muto222
php
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.