473,386 Members | 1,841 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,386 software developers and data experts.

Custom Component Class question

Hello,

I have a fairly simple class that I created and it works great. Basically
it remembers a certain amount of strings. When a new one comes in the oldest
drops off. The problem is, when I have the test page open in multiple
browsers, they are all getting the same data. I don't want this to happen.

I have tried different uses of protected, internal, static and such with no
luck. Can anyone help me here?

--
Thanx,
Kev
Nov 19 '05 #1
4 1302
Without seeing code it's impossible to tell.

Protected/Internal/Public/Private are about accessibility and have nothing
to do with the issue you have.

My guess is that you are using a static instance which is why it's shared
amongst threads.

You should be creating a new instance on each page load

sub page_load
dim myVariable as MyClass = new MyClass()
end sub

don't know what you have ...
--
MY ASP.Net tutorials
http://www.openmymind.net/ - New and Improved (yes, the popup is
annoying)
http://www.openmymind.net/faq.aspx - unofficial newsgroup FAQ (more to
come!)
"Grigs" <Gr***@discussions.microsoft.com> wrote in message
news:76**********************************@microsof t.com...
Hello,

I have a fairly simple class that I created and it works great. Basically
it remembers a certain amount of strings. When a new one comes in the
oldest
drops off. The problem is, when I have the test page open in multiple
browsers, they are all getting the same data. I don't want this to
happen.

I have tried different uses of protected, internal, static and such with
no
luck. Can anyone help me here?

--
Thanx,
Kev

Nov 19 '05 #2
Hello Karl,

True, very true. Not to mention, I could be using the wrong terms here.
Below are both the Class/Component file and then the Test app that I am
using. This is Everything...

- - - - - - - Class File:
using System;
using System.ComponentModel;
using System.Collections;
using System.Diagnostics;

namespace NASQLStatements {
public class ThingsRemembered : System.ComponentModel.Component {
private System.ComponentModel.Container components = null;

private int iThingsToRemember;
protected internal ArrayList aThings;

public ThingsRemembered(System.ComponentModel.IContainer container) {
container.Add(this);
InitializeComponent();
aThings = new ArrayList(2);
}

public ThingsRemembered() {
InitializeComponent();
aThings = new ArrayList(2);
}

public ThingsRemembered(int iCapacity) {
InitializeComponent();
aThings = new ArrayList(iCapacity);
}

public ThingsRemembered(System.ComponentModel.IContainer container, int
iCapacity) {
container.Add(this);
InitializeComponent();
aThings = new ArrayList(iCapacity);
}

protected override void Dispose( bool disposing ) {
if( disposing ) {
if(components != null) {
components.Dispose();
}
}
base.Dispose( disposing );

iThingsToRemember = 0;
aThings.Clear(); // delete all items
aThings.TrimToSize(); // resize the array to system default

}

#region Component Designer generated code
private void InitializeComponent() {
components = new System.ComponentModel.Container();
}
#endregion

public int ThingsToRemember {
get { return iThingsToRemember; }
set {
iThingsToRemember = value;
aThings.Capacity = iThingsToRemember; // size the array
} // set
} // ThingsToRemember - Property - Read/Write

public bool AddAThing(object oThing) {
try {
if(aThings.Count == aThings.Capacity) {
aThings.RemoveAt(0); // remove the oldest one
} // if there are already the maximum number of items in the array
aThings.Add(oThing); // add the new one
return true;
} catch(Exception e) {
sLastError = e.ToString();
return false;
} // try-catch errors
} // AddAThing - Method

public string LastError {
get { return sLastError; }
} // LastError - Property - Read Only

public object LastThing() {
return aThings[aThings.Count - 1];
} // LastThing - Method

public object FirstThing() {
return aThings[0];
} // FirstThing - Method

public ArrayList AllThings {
get { return aThings; }
} // AllThings - Property - Read Only
}
}
- - - - - - - Test File:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using NASQLStatements;

namespace TestThings {
public class WebForm1 : System.Web.UI.Page {

protected System.Web.UI.WebControls.Button cmndAddThing;
protected System.Web.UI.WebControls.Button cmndShowThings;
protected System.Web.UI.WebControls.Label lablThings;

private static NASQLStatements.ThingsRemembered oStuff = new
NASQLStatements.ThingsRemembered();

private void Page_Load(object sender, System.EventArgs e) {
if(!Page.IsPostBack) {
oStuff.ThingsToRemember = 5;
lablThings.Text = oStuff.AllThings.Capacity.ToString() +
"<br>" + oStuff.AllThings.Count.ToString();
} // if this is the first time to the page
}

#region Web Form Designer generated code
override protected void OnInit(EventArgs e) {
InitializeComponent();
base.OnInit(e);
}

private void InitializeComponent() {
this.cmndAddThing.Click += new
System.EventHandler(this.cmndAddThing_Click);
this.cmndShowThings.Click += new
System.EventHandler(this.cmndShowThings_Click);
this.cmndError.Click += new System.EventHandler(this.cmndError_Click);
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion

private void cmndShowThings_Click(object sender, System.EventArgs e) {
lablThings.Text = "" + oStuff.AllThings.Capacity.ToString() + "<br>";

for(int iPos = oStuff.AllThings.Count - 1; iPos >= 0; iPos--) {
lablThings.Text += oStuff.AllThings[iPos].ToString() + "<hr>";
} // for each item
}

private void cmndAddThing_Click(object sender, System.EventArgs e) {
Random rRandom = new Random(DateTime.Now.Millisecond);
int iValue = rRandom.Next(1, 1000);
lablThings.Text += "<br>" + oStuff.AddAThing(iValue).ToString();
}
}
}
As you can see, in the Test file I declare the Class as private static and
do a NEW. I assumed the New is necessary so it can create a New instance of
it. If it take out the Static modifier, nothing works and no random numbers
are stored. If I leave it in, it will remember the number (5) I have told
it. But so will each new web page I bring up and point to that page.

I believe you understand what I am looking for, the class to work
independantly each time it is New'd.

Please help.
--
Thanx,
Kevin

"Karl Seguin" wrote:
Without seeing code it's impossible to tell.

Protected/Internal/Public/Private are about accessibility and have nothing
to do with the issue you have.

My guess is that you are using a static instance which is why it's shared
amongst threads.

You should be creating a new instance on each page load

sub page_load
dim myVariable as MyClass = new MyClass()
end sub

don't know what you have ...
--
MY ASP.Net tutorials
http://www.openmymind.net/ - New and Improved (yes, the popup is
annoying)
http://www.openmymind.net/faq.aspx - unofficial newsgroup FAQ (more to
come!)
"Grigs" <Gr***@discussions.microsoft.com> wrote in message
news:76**********************************@microsof t.com...
Hello,

I have a fairly simple class that I created and it works great. Basically
it remembers a certain amount of strings. When a new one comes in the
oldest
drops off. The problem is, when I have the test page open in multiple
browsers, they are all getting the same data. I don't want this to
happen.

I have tried different uses of protected, internal, static and such with
no
luck. Can anyone help me here?

--
Thanx,
Kev


Nov 19 '05 #3
I think it's important that you understand this stuff, rather than I just
telling you what i think the solution is....

when you do:
private static NASQLStatements.ThingsRemembered oStuff = new
NASQLStatements.ThingsRemembered();

you are saying that there's ever only 1 instance (amongst all threads (users
or requests)) of ThingsRemembered. That is, when user 1 and user 2 hit this
page, they are accessing the same instance. Think of it, if you will, as
having this stored in the Application variable. It's worse because it isn't
thread-safe.

If you remove the static, you'll now have 1 instance per thread (or per
request). This is likely closer to what you want...but not exactly what you
want. Everytime the same user hits the button, a new instance will be
created, meaning previous things this user added will be lost. In other
words, your instance will now have the lifetime of a single request - my
guess is that's also not what you want. What you want is something in
between, it's "static" per user. To achieve this you need to store the
instance somewhere, such as the Session variable. So what you could do is:

private NASQLStatements.ThingsRemembered oStuff;

public void page_init(...)
{
oStuff = (NASQLStatements.ThingsRemembered) Session["ThingsToRemember"];
if (oStuff == null) //it'll be null the first time
{
oStuff = new NASQLStatements.ThingsRemembered();
Session.Add("ThingsToRemember", oStuff);
}
}
Hope that helps a little.

Karl

--
MY ASP.Net tutorials
http://www.openmymind.net/ - New and Improved (yes, the popup is
annoying)
http://www.openmymind.net/faq.aspx - unofficial newsgroup FAQ (more to
come!)
"Grigs" <Gr***@discussions.microsoft.com> wrote in message
news:DC**********************************@microsof t.com...
Hello Karl,

True, very true. Not to mention, I could be using the wrong terms here.
Below are both the Class/Component file and then the Test app that I am
using. This is Everything...

- - - - - - - Class File:
using System;
using System.ComponentModel;
using System.Collections;
using System.Diagnostics;

namespace NASQLStatements {
public class ThingsRemembered : System.ComponentModel.Component {
private System.ComponentModel.Container components = null;

private int iThingsToRemember;
protected internal ArrayList aThings;

public ThingsRemembered(System.ComponentModel.IContainer container) {
container.Add(this);
InitializeComponent();
aThings = new ArrayList(2);
}

public ThingsRemembered() {
InitializeComponent();
aThings = new ArrayList(2);
}

public ThingsRemembered(int iCapacity) {
InitializeComponent();
aThings = new ArrayList(iCapacity);
}

public ThingsRemembered(System.ComponentModel.IContainer container, int
iCapacity) {
container.Add(this);
InitializeComponent();
aThings = new ArrayList(iCapacity);
}

protected override void Dispose( bool disposing ) {
if( disposing ) {
if(components != null) {
components.Dispose();
}
}
base.Dispose( disposing );

iThingsToRemember = 0;
aThings.Clear(); // delete all items
aThings.TrimToSize(); // resize the array to system default

}

#region Component Designer generated code
private void InitializeComponent() {
components = new System.ComponentModel.Container();
}
#endregion

public int ThingsToRemember {
get { return iThingsToRemember; }
set {
iThingsToRemember = value;
aThings.Capacity = iThingsToRemember; // size the array
} // set
} // ThingsToRemember - Property - Read/Write

public bool AddAThing(object oThing) {
try {
if(aThings.Count == aThings.Capacity) {
aThings.RemoveAt(0); // remove the oldest one
} // if there are already the maximum number of items in the array
aThings.Add(oThing); // add the new one
return true;
} catch(Exception e) {
sLastError = e.ToString();
return false;
} // try-catch errors
} // AddAThing - Method

public string LastError {
get { return sLastError; }
} // LastError - Property - Read Only

public object LastThing() {
return aThings[aThings.Count - 1];
} // LastThing - Method

public object FirstThing() {
return aThings[0];
} // FirstThing - Method

public ArrayList AllThings {
get { return aThings; }
} // AllThings - Property - Read Only
}
}
- - - - - - - Test File:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using NASQLStatements;

namespace TestThings {
public class WebForm1 : System.Web.UI.Page {

protected System.Web.UI.WebControls.Button cmndAddThing;
protected System.Web.UI.WebControls.Button cmndShowThings;
protected System.Web.UI.WebControls.Label lablThings;

private static NASQLStatements.ThingsRemembered oStuff = new
NASQLStatements.ThingsRemembered();

private void Page_Load(object sender, System.EventArgs e) {
if(!Page.IsPostBack) {
oStuff.ThingsToRemember = 5;
lablThings.Text = oStuff.AllThings.Capacity.ToString() +
"<br>" + oStuff.AllThings.Count.ToString();
} // if this is the first time to the page
}

#region Web Form Designer generated code
override protected void OnInit(EventArgs e) {
InitializeComponent();
base.OnInit(e);
}

private void InitializeComponent() {
this.cmndAddThing.Click += new
System.EventHandler(this.cmndAddThing_Click);
this.cmndShowThings.Click += new
System.EventHandler(this.cmndShowThings_Click);
this.cmndError.Click += new
System.EventHandler(this.cmndError_Click);
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion

private void cmndShowThings_Click(object sender, System.EventArgs e) {
lablThings.Text = "" + oStuff.AllThings.Capacity.ToString() + "<br>";

for(int iPos = oStuff.AllThings.Count - 1; iPos >= 0; iPos--) {
lablThings.Text += oStuff.AllThings[iPos].ToString() + "<hr>";
} // for each item
}

private void cmndAddThing_Click(object sender, System.EventArgs e) {
Random rRandom = new Random(DateTime.Now.Millisecond);
int iValue = rRandom.Next(1, 1000);
lablThings.Text += "<br>" + oStuff.AddAThing(iValue).ToString();
}
}
}
As you can see, in the Test file I declare the Class as private static and
do a NEW. I assumed the New is necessary so it can create a New instance
of
it. If it take out the Static modifier, nothing works and no random
numbers
are stored. If I leave it in, it will remember the number (5) I have told
it. But so will each new web page I bring up and point to that page.

I believe you understand what I am looking for, the class to work
independantly each time it is New'd.

Please help.
--
Thanx,
Kevin

"Karl Seguin" wrote:
Without seeing code it's impossible to tell.

Protected/Internal/Public/Private are about accessibility and have
nothing
to do with the issue you have.

My guess is that you are using a static instance which is why it's shared
amongst threads.

You should be creating a new instance on each page load

sub page_load
dim myVariable as MyClass = new MyClass()
end sub

don't know what you have ...
--
MY ASP.Net tutorials
http://www.openmymind.net/ - New and Improved (yes, the popup is
annoying)
http://www.openmymind.net/faq.aspx - unofficial newsgroup FAQ (more to
come!)
"Grigs" <Gr***@discussions.microsoft.com> wrote in message
news:76**********************************@microsof t.com...
> Hello,
>
> I have a fairly simple class that I created and it works great.
> Basically
> it remembers a certain amount of strings. When a new one comes in the
> oldest
> drops off. The problem is, when I have the test page open in multiple
> browsers, they are all getting the same data. I don't want this to
> happen.
>
> I have tried different uses of protected, internal, static and such
> with
> no
> luck. Can anyone help me here?
>
> --
> Thanx,
> Kev


Nov 19 '05 #4
Karl,

That did the trick. Awesome. It makes sense to me now as well. Now I am
going to look into the limits of the Session object.

Take care,
Grigs/Kevin
"Karl Seguin" wrote:
I think it's important that you understand this stuff, rather than I just
telling you what i think the solution is....

when you do:
private static NASQLStatements.ThingsRemembered oStuff = new
NASQLStatements.ThingsRemembered();

you are saying that there's ever only 1 instance (amongst all threads (users
or requests)) of ThingsRemembered. That is, when user 1 and user 2 hit this
page, they are accessing the same instance. Think of it, if you will, as
having this stored in the Application variable. It's worse because it isn't
thread-safe.

If you remove the static, you'll now have 1 instance per thread (or per
request). This is likely closer to what you want...but not exactly what you
want. Everytime the same user hits the button, a new instance will be
created, meaning previous things this user added will be lost. In other
words, your instance will now have the lifetime of a single request - my
guess is that's also not what you want. What you want is something in
between, it's "static" per user. To achieve this you need to store the
instance somewhere, such as the Session variable. So what you could do is:

private NASQLStatements.ThingsRemembered oStuff;

public void page_init(...)
{
oStuff = (NASQLStatements.ThingsRemembered) Session["ThingsToRemember"];
if (oStuff == null) //it'll be null the first time
{
oStuff = new NASQLStatements.ThingsRemembered();
Session.Add("ThingsToRemember", oStuff);
}
}
Hope that helps a little.

Karl

--
MY ASP.Net tutorials
http://www.openmymind.net/ - New and Improved (yes, the popup is
annoying)
http://www.openmymind.net/faq.aspx - unofficial newsgroup FAQ (more to
come!)
"Grigs" <Gr***@discussions.microsoft.com> wrote in message
news:DC**********************************@microsof t.com...
Hello Karl,

True, very true. Not to mention, I could be using the wrong terms here.
Below are both the Class/Component file and then the Test app that I am
using. This is Everything...

- - - - - - - Class File:
using System;
using System.ComponentModel;
using System.Collections;
using System.Diagnostics;

namespace NASQLStatements {
public class ThingsRemembered : System.ComponentModel.Component {
private System.ComponentModel.Container components = null;

private int iThingsToRemember;
protected internal ArrayList aThings;

public ThingsRemembered(System.ComponentModel.IContainer container) {
container.Add(this);
InitializeComponent();
aThings = new ArrayList(2);
}

public ThingsRemembered() {
InitializeComponent();
aThings = new ArrayList(2);
}

public ThingsRemembered(int iCapacity) {
InitializeComponent();
aThings = new ArrayList(iCapacity);
}

public ThingsRemembered(System.ComponentModel.IContainer container, int
iCapacity) {
container.Add(this);
InitializeComponent();
aThings = new ArrayList(iCapacity);
}

protected override void Dispose( bool disposing ) {
if( disposing ) {
if(components != null) {
components.Dispose();
}
}
base.Dispose( disposing );

iThingsToRemember = 0;
aThings.Clear(); // delete all items
aThings.TrimToSize(); // resize the array to system default

}

#region Component Designer generated code
private void InitializeComponent() {
components = new System.ComponentModel.Container();
}
#endregion

public int ThingsToRemember {
get { return iThingsToRemember; }
set {
iThingsToRemember = value;
aThings.Capacity = iThingsToRemember; // size the array
} // set
} // ThingsToRemember - Property - Read/Write

public bool AddAThing(object oThing) {
try {
if(aThings.Count == aThings.Capacity) {
aThings.RemoveAt(0); // remove the oldest one
} // if there are already the maximum number of items in the array
aThings.Add(oThing); // add the new one
return true;
} catch(Exception e) {
sLastError = e.ToString();
return false;
} // try-catch errors
} // AddAThing - Method

public string LastError {
get { return sLastError; }
} // LastError - Property - Read Only

public object LastThing() {
return aThings[aThings.Count - 1];
} // LastThing - Method

public object FirstThing() {
return aThings[0];
} // FirstThing - Method

public ArrayList AllThings {
get { return aThings; }
} // AllThings - Property - Read Only
}
}
- - - - - - - Test File:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using NASQLStatements;

namespace TestThings {
public class WebForm1 : System.Web.UI.Page {

protected System.Web.UI.WebControls.Button cmndAddThing;
protected System.Web.UI.WebControls.Button cmndShowThings;
protected System.Web.UI.WebControls.Label lablThings;

private static NASQLStatements.ThingsRemembered oStuff = new
NASQLStatements.ThingsRemembered();

private void Page_Load(object sender, System.EventArgs e) {
if(!Page.IsPostBack) {
oStuff.ThingsToRemember = 5;
lablThings.Text = oStuff.AllThings.Capacity.ToString() +
"<br>" + oStuff.AllThings.Count.ToString();
} // if this is the first time to the page
}

#region Web Form Designer generated code
override protected void OnInit(EventArgs e) {
InitializeComponent();
base.OnInit(e);
}

private void InitializeComponent() {
this.cmndAddThing.Click += new
System.EventHandler(this.cmndAddThing_Click);
this.cmndShowThings.Click += new
System.EventHandler(this.cmndShowThings_Click);
this.cmndError.Click += new
System.EventHandler(this.cmndError_Click);
this.Load += new System.EventHandler(this.Page_Load);

}
#endregion

private void cmndShowThings_Click(object sender, System.EventArgs e) {
lablThings.Text = "" + oStuff.AllThings.Capacity.ToString() + "<br>";

for(int iPos = oStuff.AllThings.Count - 1; iPos >= 0; iPos--) {
lablThings.Text += oStuff.AllThings[iPos].ToString() + "<hr>";
} // for each item
}

private void cmndAddThing_Click(object sender, System.EventArgs e) {
Random rRandom = new Random(DateTime.Now.Millisecond);
int iValue = rRandom.Next(1, 1000);
lablThings.Text += "<br>" + oStuff.AddAThing(iValue).ToString();
}
}
}
As you can see, in the Test file I declare the Class as private static and
do a NEW. I assumed the New is necessary so it can create a New instance
of
it. If it take out the Static modifier, nothing works and no random
numbers
are stored. If I leave it in, it will remember the number (5) I have told
it. But so will each new web page I bring up and point to that page.

I believe you understand what I am looking for, the class to work
independantly each time it is New'd.

Please help.
--
Thanx,
Kevin

"Karl Seguin" wrote:
Without seeing code it's impossible to tell.

Protected/Internal/Public/Private are about accessibility and have
nothing
to do with the issue you have.

My guess is that you are using a static instance which is why it's shared
amongst threads.

You should be creating a new instance on each page load

sub page_load
dim myVariable as MyClass = new MyClass()
end sub

don't know what you have ...
--
MY ASP.Net tutorials
http://www.openmymind.net/ - New and Improved (yes, the popup is
annoying)
http://www.openmymind.net/faq.aspx - unofficial newsgroup FAQ (more to
come!)
"Grigs" <Gr***@discussions.microsoft.com> wrote in message
news:76**********************************@microsof t.com...
> Hello,
>
> I have a fairly simple class that I created and it works great.
> Basically
> it remembers a certain amount of strings. When a new one comes in the
> oldest
> drops off. The problem is, when I have the test page open in multiple
> browsers, they are all getting the same data. I don't want this to
> happen.
>
> I have tried different uses of protected, internal, static and such
> with
> no
> luck. Can anyone help me here?
>
> --
> Thanx,
> Kev


Nov 19 '05 #5

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

Similar topics

7
by: Ken Allen | last post by:
I have a .net client/server application using remoting, and I cannot get the custom exception class to pass from the server to the client. The custom exception is derived from ApplicationException...
6
by: ryan.d.rembaum | last post by:
Hello, I have code that I wish to use in many web applications. Basically sort of stand utility stuff. So from Visual Studio Project I select add a component and chose Component Class. Lets...
3
by: DC Gringo | last post by:
Hi, I'm trying to use a custom action to modify a database (rather than create one) using the VS.NET '03's help example called "Custom Action to Create Database During Installation". I've made...
0
by: Jordan Bowness | last post by:
I make a similar post in another newsgroup, but this example is simplified somewhat. I have a component (cmpMyComponent) with 2 properties. The 1st property is a string value (Description) and...
2
by: AMDRIT | last post by:
Hello everyone, I have created a custom component and one of its properties is a class object with it's own properties. During runtime, I can assign values to the class object properties just...
1
by: Stu | last post by:
Hi, Im using vis studio 2003 and I think wse is out of the question as clients could be using java which doesnt support it. So I managed to find some code which allows you to develop a custom...
5
by: pepwelcome | last post by:
Hi, here is a question about custom components. ==== Before I learn ASP.net I program with ASP and VBscript, and I write codes like this: "<script language=vbscript src="usercheck.vb">" and so I...
3
by: shapper | last post by:
Hello, I am starting to create various custom controls for Asp.Net 2.0 and I am using Visual Studio 2005. I have a few questions: 1. Should I use the Web Site or Project Model? I believe...
0
by: ChopStickr | last post by:
I have a custom control that is embedded (using the object tag) in an html document. The control takes a path to a local client ini file. Reads the file. Executes the program specified in...
1
by: asharda | last post by:
I have a custom property grid. I am using custom property grid as I do not want the error messages that the propertygrid shows when abphabets are entered in interger fields. The custom property...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...

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.