473,748 Members | 3,823 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Find Missing Data

I'm hopping someone can help me out on a payroll project I need to
implement.

To start we are dealing with payroll periods. So we are dealing with an
exact 10 days (Monday - Friday, 2 weeks).

I have a dataset as follows (1 week to keep it short):

Employee 1 - Date 1
Employee 1 - Date 2
Employee 1 - Date 3
Employee 1 - Date 4
Employee 1 - Date 5
Employee 2 - Date 1
Employee 2 - Date 3
Employee 2 - Date 4
Employee 2 - Date 5

You'll notice Employee 2 - Date 2 is missing. I need to develop a routine
that will give me all missed dates per employee.

I'm open to any ideas/theories. I have one of my own but before I get
started on it I wanted some opinions on it. I'm not sure how productive
such a routine will be. It sounds like a cluster f. to me.
Create an array of unique employee numbers

then

Loop
through that array and create a second array of unique dates. If the ubound
of that second array is < 9 then figure out missed date(s) (I have period
start). Dump employee number and date into a third array. Destroy second
array.
Next
Thoughts?
Nov 20 '05 #1
17 3026
Hi Justin,

I assume every date is a row.

Seeing this than there are two question, you want to know if there are dates
missing, that is easy, you set them employee by employee in a dataview, the
count should always be 10.

Than you can show which dates are there, it should than for every programmer
be very easy to know what is missing.

(I would first make an array with dates which should be and test when there
is a missing one. The array because you have to deal with weekends which can
make it complex when you do it in a direct routine calculating everytime the
dates)

I assume that you do not have to test on doubles, which is of course with
that dataview as well a piece of cake.

Or do I see this the simple?

Cor
Nov 20 '05 #2
Have you thought about creating a checksum?
For I = 1 To 10
' parse data into line (ie: first line would be "Employee 1 - Date
1")
Do Until Right$(line, I) = I
Missing = Missing + 2^(I - 1)
I = I + 1 'double execute
Loop
' (This is a loop because there might be consecutive missing
records)
' save data at right spot, if data was missing, the counter has been
updated to reflect that, and ' data will still be stored at the
index corresponding to the Index
Next I

' Now you have a Missing variable, which is unique for all occasions. I
guess you don't need explanations how to read the variable again and figure
out the missing links... if you do, post here again, and I'll try to help.
BTW: this is a solution which doesn't require too much memory (only 1
integer which holds the checksum). If you'd rather have a less processor
consumtive way (you will need to read this variable again), then you might
consider just storing the numbers of all the missing lines into an array,
which might be a bit faster. Not much though, and it will take loads of
extra memory.
I'm guessing the distinguishing between dates etc. won't be as easy as
described (ie: the lines won't just end with 'date 1', but with a real
date), but you can always load the supposedly correct dates into an array
and then examine if the input matches array(I).

Hope this helps and wasn't too fuzzy, I'm not great at explaining things...

John
---
Outgoing mail is certified Virus Free by AVG 6.0
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.716 / Virus Database: 472 - Release Date: 5-7-04
Nov 20 '05 #3
The problem extents a little further. If there is no date then there is no
record. There will always be a date and an employee number as a record was
added to the DB. Each record is a "time sheet". If entered, thats great.
We need to know missing timesheets. I wish there was someway to compair
arrays and output the differences.

ArrayDates() - pre defined what the 10 dates are
Array1() - Unique set of employee numbers
Array2() - Unique set of dates per employee Array1(i)

Compair ArrayDates() with Array2() and give me the difference.

"John" <I_*********@mi crosoft.com> wrote in message
news:ex******** ******@TK2MSFTN GP12.phx.gbl...
Have you thought about creating a checksum?
For I = 1 To 10
' parse data into line (ie: first line would be "Employee 1 - Date
1")
Do Until Right$(line, I) = I
Missing = Missing + 2^(I - 1)
I = I + 1 'double execute
Loop
' (This is a loop because there might be consecutive missing
records)
' save data at right spot, if data was missing, the counter has been updated to reflect that, and ' data will still be stored at the index corresponding to the Index
Next I

' Now you have a Missing variable, which is unique for all occasions. I
guess you don't need explanations how to read the variable again and figure out the missing links... if you do, post here again, and I'll try to help.
BTW: this is a solution which doesn't require too much memory (only 1
integer which holds the checksum). If you'd rather have a less processor
consumtive way (you will need to read this variable again), then you might
consider just storing the numbers of all the missing lines into an array,
which might be a bit faster. Not much though, and it will take loads of
extra memory.
I'm guessing the distinguishing between dates etc. won't be as easy as
described (ie: the lines won't just end with 'date 1', but with a real
date), but you can always load the supposedly correct dates into an array
and then examine if the input matches array(I).

Hope this helps and wasn't too fuzzy, I'm not great at explaining things...
John
---
Outgoing mail is certified Virus Free by AVG 6.0
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.716 / Virus Database: 472 - Release Date: 5-7-04

Nov 20 '05 #4
Hi John,

With a dataview this is.

dim dv as datatable(datat ablesheets)
for each employee in tableEmployee
dv.rowfilter = "employee = " & employeenumber
If dv.count <> 10 then
'there is a date missing,
next

And when there are more dates than the datatable with sheets has to be
filled with a select distinct on order date

Why do you want to use that in my opinion more difficult method, I can
assure you that the method I show goes very fast?

Cor
Have you thought about creating a checksum?
For I = 1 To 10
' parse data into line (ie: first line would be "Employee 1 - Date
1")
Do Until Right$(line, I) = I
Missing = Missing + 2^(I - 1)
I = I + 1 'double execute
Loop
' (This is a loop because there might be consecutive missing
records)
' save data at right spot, if data was missing, the counter has been updated to reflect that, and ' data will still be stored at the index corresponding to the Index
Next I

' Now you have a Missing variable, which is unique for all occasions. I
guess you don't need explanations how to read the variable again and figure out the missing links... if you do, post here again, and I'll try to help.
BTW: this is a solution which doesn't require too much memory (only 1
integer which holds the checksum). If you'd rather have a less processor
consumtive way (you will need to read this variable again), then you might
consider just storing the numbers of all the missing lines into an array,
which might be a bit faster. Not much though, and it will take loads of
extra memory.
I'm guessing the distinguishing between dates etc. won't be as easy as
described (ie: the lines won't just end with 'date 1', but with a real
date), but you can always load the supposedly correct dates into an array
and then examine if the input matches array(I).

Hope this helps and wasn't too fuzzy, I'm not great at explaining things...
John
---
Outgoing mail is certified Virus Free by AVG 6.0
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.716 / Virus Database: 472 - Release Date: 5-7-04

Nov 20 '05 #5
Justin,
I would consider doing this in the database itself with correlated outer
joins if possible.

Presumable you really want to know a list of employees with the dates they
are missing, correct?

If you "needed" to do it client side, I would probably use DataTables
instead of arrays...

Here is one possibility:

Dim ds As New DataSet("Justin Emlay")

' define the tables needed
Dim employees As New DataTable("empl oyees")
employees.Colum ns.Add("id", GetType(Integer ))
employees.Colum ns.Add("name", GetType(String) )
employees.Prima ryKey = New DataColumn() {employees.Colu mns("id")}
ds.Tables.Add(e mployees)

Dim dates As New DataTable("date s")
dates.Columns.A dd("id", GetType(Integer ))
dates.Columns.A dd("name", GetType(String) )
dates.PrimaryKe y = New DataColumn() {dates.Columns( "id")}
ds.Tables.Add(d ates)

Dim timeSheets As New DataTable("time Sheets")
timeSheets.Colu mns.Add("employ eeId", GetType(Integer ))
timeSheets.Colu mns.Add("dateId ", GetType(Integer ))
timeSheets.Prim aryKey = New DataColumn()
{timeSheets.Col umns("employeeI d"), timeSheets.Colu mns("dateId")}
ds.Tables.Add(t imeSheets)

Dim missing As New DataTable("miss ing")
missing.Columns .Add("employeeI d", GetType(Integer ))
missing.Columns .Add("dateId", GetType(Integer ))
missing.Primary Key = New DataColumn()
{missing.Column s("employeeId") , missing.Columns ("dateId")}
ds.Tables.Add(m issing)

' define relationships between the tables
ds.Relations.Ad d("dateTimeShee ts", dates.Columns(" id"),
timeSheets.Colu mns("dateId"))
ds.Relations.Ad d("employeeTime Sheets", employees.Colum ns("id"),
timeSheets.Colu mns("employeeId "))

ds.Relations.Ad d("dateMissing" , dates.Columns(" id"),
missing.Columns ("dateId"))
ds.Relations.Ad d("employeeMiss ing", employees.Colum ns("id"),
missing.Columns ("employeeId "))

' add some sample data
With employees.Rows
.Add(New Object() {1, "Employee 1"})
.Add(New Object() {2, "Employee 2"})
.Add(New Object() {3, "Employee 3"})
End With

With dates.Rows
.Add(New Object() {1, "Date 1"})
.Add(New Object() {2, "Date 2"})
.Add(New Object() {3, "Date 3"})
.Add(New Object() {4, "Date 4"})
.Add(New Object() {5, "Date 5"})
End With

With timeSheets.Rows
.Add(New Object() {1, 1}) 'Employee 1 - Date 1
.Add(New Object() {1, 2}) 'Employee 1 - Date 2
.Add(New Object() {1, 3}) 'Employee 1 - Date 3
.Add(New Object() {1, 4}) 'Employee 1 - Date 4
.Add(New Object() {1, 5}) 'Employee 1 - Date 5

.Add(New Object() {2, 1}) 'Employee 2 - Date 1
.Add(New Object() {2, 3}) 'Employee 2 - Date 3
.Add(New Object() {2, 4}) 'Employee 2 - Date 4
.Add(New Object() {2, 5}) 'Employee 2 - Date 5

.Add(New Object() {3, 2}) 'Employee 2 - Date 5
.Add(New Object() {3, 5}) 'Employee 2 - Date 5
End With

' find the missing dates for each employee
For Each employee As DataRow In employees.Rows
For Each [date] As DataRow In dates.Rows
Dim keys() As Object = {employee!id, [date]!id}
If Not timeSheets.Rows .Contains(keys) Then
missing.Rows.Ad d(keys)
End If
Next
Next

' display the results
For Each miss As DataRow In missing.Rows
Debug.WriteLine (miss!dateId, miss!employeeId .ToString())

Dim [date] As DataRow = miss.GetParentR ow("dateMissing ")
Dim employee As DataRow = miss.GetParentR ow("employeeMis sing")
Debug.WriteLine ([date]!name, DirectCast(empl oyee!name, String))
Next

Hope this helps
Jay
"Justin Emlay" <NO***********@ Maisto.com> wrote in message
news:Ob******** *****@TK2MSFTNG P11.phx.gbl...
The problem extents a little further. If there is no date then there is no record. There will always be a date and an employee number as a record was added to the DB. Each record is a "time sheet". If entered, thats great.
We need to know missing timesheets. I wish there was someway to compair
arrays and output the differences.

ArrayDates() - pre defined what the 10 dates are
Array1() - Unique set of employee numbers
Array2() - Unique set of dates per employee Array1(i)

Compair ArrayDates() with Array2() and give me the difference.

"John" <I_*********@mi crosoft.com> wrote in message
news:ex******** ******@TK2MSFTN GP12.phx.gbl...
Have you thought about creating a checksum?
For I = 1 To 10
' parse data into line (ie: first line would be "Employee 1 - Date 1")
Do Until Right$(line, I) = I
Missing = Missing + 2^(I - 1)
I = I + 1 'double execute
Loop
' (This is a loop because there might be consecutive missing
records)
' save data at right spot, if data was missing, the counter has

been
updated to reflect that, and ' data will still be stored at

the
index corresponding to the Index
Next I

' Now you have a Missing variable, which is unique for all occasions. I
guess you don't need explanations how to read the variable again and

figure
out the missing links... if you do, post here again, and I'll try to help. BTW: this is a solution which doesn't require too much memory (only 1
integer which holds the checksum). If you'd rather have a less processor
consumtive way (you will need to read this variable again), then you might consider just storing the numbers of all the missing lines into an array, which might be a bit faster. Not much though, and it will take loads of
extra memory.
I'm guessing the distinguishing between dates etc. won't be as easy as
described (ie: the lines won't just end with 'date 1', but with a real
date), but you can always load the supposedly correct dates into an array and then examine if the input matches array(I).

Hope this helps and wasn't too fuzzy, I'm not great at explaining

things...

John
---
Outgoing mail is certified Virus Free by AVG 6.0
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.716 / Virus Database: 472 - Release Date: 5-7-04



Nov 20 '05 #6
Jay,

Do not see this as a flame, I am really curious what is wrong with the
solution I advise.

I know that in that solution you only know that it is not complete, however
not what is missing, however that is the most simple part to find then. For
that I have maybe thousand solutions.

I really become in doubt what is wrong with my solution?

Cor
Nov 20 '05 #7
Cor,
I don't see anything "wrong" with your solution.

Why would you think there is something wrong with it?

Jay

"Cor Ligthert" <no**********@p lanet.nl> wrote in message
news:u9******** ******@TK2MSFTN GP10.phx.gbl...
Jay,

Do not see this as a flame, I am really curious what is wrong with the
solution I advise.

I know that in that solution you only know that it is not complete, however not what is missing, however that is the most simple part to find then. For that I have maybe thousand solutions.

I really become in doubt what is wrong with my solution?

Cor

Nov 20 '05 #8
Cor,
Now that you mention it (something wrong) :-)

In John's original post he stated:

<quote>
You'll notice Employee 2 - Date 2 is missing. I need to develop a routine
that will give me all missed dates per employee.
<quote>

Hence my routine that "gives all missed dates per employee"...

You do realize that if you can also define a relationship between the
employee table & the timesheet table you can simply check the length of the
child rows to see if there is a date missing...

Something like (untested)
for each employee in tableEmployee If employee.GetChi ldRows("employe eTimeSheets").L ength <> 10 Then 'there is a date missing, End If next
For Each employee As DataRow In employees.Rows
Const format As String = "employeeId = {0}"
Const expression As String = "count(employee Id)"
Dim filter As String = String.Format(f ormat, employee!id)
Dim count As Integer
count = CInt(timeSheets .Compute(expres sion, filter))
Next

Which one of the three I used would depend on the requirements of the
problem.

I still don't really see anything wrong with your solution... We both just
have alternatives!

Hope this helps
Jay

"Cor Ligthert" <no**********@p lanet.nl> wrote in message
news:ee******** *****@TK2MSFTNG P11.phx.gbl... Hi John,

With a dataview this is.

dim dv as datatable(datat ablesheets)
for each employee in tableEmployee
dv.rowfilter = "employee = " & employeenumber
If dv.count <> 10 then
'there is a date missing,
next

And when there are more dates than the datatable with sheets has to be
filled with a select distinct on order date

Why do you want to use that in my opinion more difficult method, I can
assure you that the method I show goes very fast?

Cor
Have you thought about creating a checksum?
For I = 1 To 10
' parse data into line (ie: first line would be "Employee 1 - Date 1")
Do Until Right$(line, I) = I
Missing = Missing + 2^(I - 1)
I = I + 1 'double execute
Loop
' (This is a loop because there might be consecutive missing
records)
' save data at right spot, if data was missing, the counter has

been
updated to reflect that, and ' data will still be stored at

the
index corresponding to the Index
Next I

' Now you have a Missing variable, which is unique for all occasions. I
guess you don't need explanations how to read the variable again and

figure
out the missing links... if you do, post here again, and I'll try to help. BTW: this is a solution which doesn't require too much memory (only 1
integer which holds the checksum). If you'd rather have a less processor
consumtive way (you will need to read this variable again), then you might consider just storing the numbers of all the missing lines into an array, which might be a bit faster. Not much though, and it will take loads of
extra memory.
I'm guessing the distinguishing between dates etc. won't be as easy as
described (ie: the lines won't just end with 'date 1', but with a real
date), but you can always load the supposedly correct dates into an array and then examine if the input matches array(I).

Hope this helps and wasn't too fuzzy, I'm not great at explaining

things...

John
---
Outgoing mail is certified Virus Free by AVG 6.0
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.716 / Virus Database: 472 - Release Date: 5-7-04


Nov 20 '05 #9
Doh!

I lost something there...

I wanted to say you can use either GetChildRows or DataTable.Compu te, in
addition to a DataView as you showed.

This is an example of using DataTable.Compu te:
For Each employee As DataRow In employees.Rows
Const format As String = "employeeId = {0}"
Const expression As String = "count(employee Id)"
Dim filter As String = String.Format(f ormat, employee!id)
Dim count As Integer
count = CInt(timeSheets .Compute(expres sion, filter))
Next
Jay

"Jay B. Harlow [MVP - Outlook]" <Ja************ @msn.com> wrote in message
news:uI******** ******@TK2MSFTN GP12.phx.gbl... Cor,
Now that you mention it (something wrong) :-)

In John's original post he stated:

<quote>
You'll notice Employee 2 - Date 2 is missing. I need to develop a routine
that will give me all missed dates per employee.
<quote>

Hence my routine that "gives all missed dates per employee"...

You do realize that if you can also define a relationship between the
employee table & the timesheet table you can simply check the length of the child rows to see if there is a date missing...

Something like (untested)
for each employee in tableEmployee

If employee.GetChi ldRows("employe eTimeSheets").L ength <> 10 Then
'there is a date missing,

End If
next


For Each employee As DataRow In employees.Rows
Const format As String = "employeeId = {0}"
Const expression As String = "count(employee Id)"
Dim filter As String = String.Format(f ormat, employee!id)
Dim count As Integer
count = CInt(timeSheets .Compute(expres sion, filter))
Next

Which one of the three I used would depend on the requirements of the
problem.

I still don't really see anything wrong with your solution... We both just
have alternatives!

Hope this helps
Jay

"Cor Ligthert" <no**********@p lanet.nl> wrote in message
news:ee******** *****@TK2MSFTNG P11.phx.gbl...
Hi John,

With a dataview this is.

dim dv as datatable(datat ablesheets)
for each employee in tableEmployee
dv.rowfilter = "employee = " & employeenumber
If dv.count <> 10 then
'there is a date missing,
next

And when there are more dates than the datatable with sheets has to be
filled with a select distinct on order date

Why do you want to use that in my opinion more difficult method, I can
assure you that the method I show goes very fast?

Cor
Have you thought about creating a checksum?
For I = 1 To 10
' parse data into line (ie: first line would be "Employee 1 - Date 1")
Do Until Right$(line, I) = I
Missing = Missing + 2^(I - 1)
I = I + 1 'double execute
Loop
' (This is a loop because there might be consecutive missing
records)
' save data at right spot, if data was missing, the counter has
been
updated to reflect that, and ' data will still be stored
at
the
index corresponding to the Index
Next I

' Now you have a Missing variable, which is unique for all occasions.

I guess you don't need explanations how to read the variable again and

figure
out the missing links... if you do, post here again, and I'll try to

help. BTW: this is a solution which doesn't require too much memory (only 1
integer which holds the checksum). If you'd rather have a less processor consumtive way (you will need to read this variable again), then you might consider just storing the numbers of all the missing lines into an array, which might be a bit faster. Not much though, and it will take loads of extra memory.
I'm guessing the distinguishing between dates etc. won't be as easy as
described (ie: the lines won't just end with 'date 1', but with a real
date), but you can always load the supposedly correct dates into an array and then examine if the input matches array(I).

Hope this helps and wasn't too fuzzy, I'm not great at explaining

things...

John
---
Outgoing mail is certified Virus Free by AVG 6.0
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.716 / Virus Database: 472 - Release Date: 5-7-04



Nov 20 '05 #10

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

Similar topics

4
6600
by: SQLJunkie | last post by:
Here is an issue that has me stumped for the past few days. I have a table called MerchTran. Among various columns, the relevant columns for this issue are: FileDate datetime , SourceTable varchar(25) SQL statement: SELECT DISTINCT FileDate
18
1664
by: strchild | last post by:
Hey Guys, I've been perusing the newsgroup here for some time now, and going through my ever so non-helpful book, Microsoft Visual Basic .NET Step by Step Version 2003, over and over, and I feel like such a dummy. I read you fella's talking up one side and down the other about streams, and can't for the life of me get a good grasp of them. I've been reading the articles you toss around to each other but I can't quite follow them enough...
67
7703
by: PC Datasheet | last post by:
Transaction data is given with date ranges: Beginning End 4/1/06 4/4/06 4/7/06 4/11/06 4/14/06 4/17/06 4/18/06 4/21/06 426/06 4/30/06 I am looking for suggestions on how to find the date ranges where there were no transactions.
4
25506
by: Mahesh BS | last post by:
Hello, I need to write a query to find out a set of missing number in a given sequence. Eg : a Column in some table has the following data
22
4032
by: semedao | last post by:
Hi , I am using asyc sockets p2p connection between 2 clients. when I debug step by step the both sides , i'ts work ok. when I run it , in somepoint (same location in the code) when I want to receive 5 bytes buffer , I call the BeginReceive and then wait on AsyncWaitHandle.WaitOne() but it is signald imidiatly , and the next call to EndReceive return zero bytes length , also the buffer is empty. here is the code: public static byte...
13
13043
newnewbie
by: newnewbie | last post by:
I have an Access database that I upload a data extract intoto daily. I want to create a query that will give me a list of dates that no data can be found for. E.g. there are no records created on the weekends, hence weekend dates will be in the list generated by this query. By creating such a query I want to ensure integrity of my data, e.i.looking at this query from time to time will give me an idea that on such and such date I might have...
1
8770
by: winston.heng | last post by:
Hi, Thanks for reading this posting. I have been cracking my head on solving the infinite loop when i call the following section code. Any help or advise is greatly appreciated =D Thanks in advance. Cheers!
4
1873
by: =?Utf-8?B?VG9yZW4gVmFsb25l?= | last post by:
Was editing code, am getting the following errors } expected Type or namespace definition, or end-of-file expected Eyes crossed cannot find code below! using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing;
0
9541
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, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
9247
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 protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
8242
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
6074
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 then checking html paragraph one by one. At the time of converting from word file to html my equations which are in the word document file was convert into image. Globals.ThisAddIn.Application.ActiveDocument.Select();...
0
4602
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
0
4874
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
1
3312
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 we have to send another system
2
2782
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
3
2215
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

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.