Solved

parameter ?_3 has no default value;problems updating access 2000 database

Posted on 2004-04-15
12
436 Views
Last Modified: 2008-03-10
parameter ?_3 has no default value

good day, i have a dataset with 5 datatables and 4 of them

write to 1 datatable

e.g.
Brand,Colour,Wheels,Rims,
write to CARSALE

in all of the above tables, the fields are of different

types of course, e.g. number, text, etc

i get the error:
parameter ?_3 has no default value

and i dont know where to start looking what the parameter is.


thank you



0
Comment
Question by:jxharding
  • 6
  • 6
12 Comments
 
LVL 96

Expert Comment

by:Bob Learned
ID: 10833920
Are you using the OleDbDataAdapter?

Bob
0
 

Author Comment

by:jxharding
ID: 10839944
Yes i am
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 10844187
Select the data adapter, and view the properties in the Property Window.  Find the SelectCommand, and expand that set.  You will find a Parameter collection under the SelectCommand.

Bob
0
 

Author Comment

by:jxharding
ID: 10858421
thanks thelearnedone
i went through all the dataadapters and could not fined one paramater in the collections
maybe thats my problem?
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 10858472
What does the SQL statement for the SelectCommand look like?

Bob
0
 

Author Comment

by:jxharding
ID: 10860095
i think i potentially found my problem
i have a table in my physical database called payment
which contains a
autoincrement field called PAYMENTID
a beneficiaryID Field (int)
and invoiceNR (string)

now i dragged this table into my dataset1.xsd
but there are other tables as well,
i did not make any relationships, although there are.
what i need to do is:

add a new entry to payment table
e.g. if last paymentID of PAYMENTTABLE was 1, the next would be 2
and then the beneficiaryID and invoiceNR would be filled in as well.
e.g.

PAYMENTID,BENEFICIARYID,INVOICENR
2         19            ABC123

this is how i attempted it:
dim addPayment as dataset1.paymentrow = dsBeneficiary.Payment.NewPaymentRow

addpayment.benefeciaryID = 19
addpayment.invoicenr = "ABC123"


daPayment.update(dsbeneficiary,"Payment")
dsbeneficiary.payment.addpaymentrow(addpayment)
dsbeneficiary.acceptchanges

and now it runs through the hole code,no problem
but when i got to the database itself, nothing was written

daPayment SQL:
SELECT BeneficiaryID,InvoiceNR FROM PAYMENT
0
Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 
LVL 96

Expert Comment

by:Bob Learned
ID: 10860984
Try:

dsbeneficiary.payment.addpaymentrow(addpayment)

dsbeneficiary.acceptchanges

daPayment.update(dsbeneficiary,"Payment")

0
 

Author Comment

by:jxharding
ID: 10866235
thanks bob, it works!
is there any chance of u giving me a little explanation on the three lines, e.g.
line 1 has to be run before line 2 because of ...

thanks!
0
 

Author Comment

by:jxharding
ID: 10867525
the problem i have here is that i only know now how to copy

the examples and then from there i will use it as templates

in my program . i dont know why the following 3 lines work:


dsbeneficiary.payment.addpaymentrow(addpayment)
dapayment.update(dsbeneficiary,"Payment")
dsbeneficiary.acceptchanges

but these 3 lines DONT work:
dsbeneficiary.payment.addpaymentrow(addpayment)
dsbeneficiary.acceptchanges
dapayment.update(dsbeneficiary,"Payment")
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 10873060
I don't usually do business this way, so I have to think through this:

(1) AddRow adds a new row.
(2) AcceptChanges for the dataset calls the AcceptChanges for all rows states that are not Unchanged.
(3) Update writes the changes back to the database from the disconnected dataset

I don't think that you even need the AcceptChanges for this to work--it might even explain why it doesn't work, since you mark the row as not changed, and then try to update the database.

Bob
0
 

Author Comment

by:jxharding
ID: 10875481
thanks bob
when you mean you dont do business this way, what do you think im doing wrong?
since this is my 1st big vb.net app, id like to get it all right at the roots because i will obviously refer to following projects from this current one
0
 
LVL 96

Accepted Solution

by:
Bob Learned earned 500 total points
ID: 10880064
I do something like this:

               Dim newRow As dataReferences.HintsRow = dataReferences.Hints.NewHintsRow

               newRow.Title = .textTitle.Text
               newRow.Hints = .textHints.Text

               ' Add a new row to the table.
               Me.dataReferences.Hints.AddHintsRow(newRow)

               ' Update the database with the added record.
               Me.adapterHints.Update(Me.dataReferences.GetChanges(DataRowState.Added))

Bob
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Suggested Solutions

Wouldn’t it be nice if you could test whether an element is contained in an array by using a Contains method just like the one available on List objects? Wouldn’t it be good if you could write code like this? (CODE) In .NET 3.5, this is possible…
A long time ago (May 2011), I have written an article showing you how to create a DLL using Visual Studio 2005 to be hosted in SQL Server 2005. That was valid at that time and it is still valid if you are still using these versions. You can still re…
This video discusses moving either the default database or any database to a new volume.
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…

747 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now