473,386 Members | 1,753 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.

Simple dataset update @ runtime not working

I have an MS Access DB with a table' Isometric' . One of the columns
is named 'Sheet'. I am doin a test to see if I can change a value in
the dataset and update the Access table with the DataAdapter.Update
method. It is not working:

Dim con As System.Data.OleDb.OleDbConnection = DAL.GetOLECon
Dim dap As New System.Data.OleDb.OleDbDataAdapter("SELECT *
FROM Isometric", con)

Dim cmb As New System.Data.OleDb.OleDbCommandBuilder(dap)
Dim das As New DataSet

das.Tables(0).Rows(0).Item("Sheet") = 999

dap.Update(das, "Isometric")

Here is the error I get

Syntax error (missing operator) in query expression '((ID_Isometric =
?) AND ((? = 1 AND Line number IS NULL) OR (Line number = ?)) AND ((? =
1 AND Sheet IS NULL) OR (Sheet = ?)) AND ((? = 1 AND Spec IS NULL) OR
(Spec = ?)) AND ((? = 1 AND Material delivered IS NULL) OR (Material
delivered = ?)) AND ((? = 1'.

is the commandbuilder just creating the update commandtext inccorectly?

Nov 2 '06 #1
3 1983
On 1 Nov 2006 23:44:05 -0800, "Bryan" <br*******@gmail.comwrote:
Dim con As System.Data.OleDb.OleDbConnection = DAL.GetOLECon
Dim dap As New System.Data.OleDb.OleDbDataAdapter("SELECT *
FROM Isometric", con)

Dim cmb As New System.Data.OleDb.OleDbCommandBuilder(dap)
Dim das As New DataSet

das.Tables(0).Rows(0).Item("Sheet") = 999

dap.Update(das, "Isometric")


You've created the connection object - is the connection open?
cmb OuotePrefix and QuoteSuffix?
I don't see where you have filled the adapter (dap)

Dim con As System.Data.OleDb.OleDbConnection = DAL.GetOLECon

Dim dap As New System.Data.OleDb.OleDbDataAdapter _
("SELECT * FROM Isometric", con)
Dim cmb As New System.Data.OleDb.OleDbCommandBuilder(dap)
cmb.QuotePrefix = "["
cmb.QuoteSuffix = "]"

Dim das As DataSet = New DataSet
If con.State = ConnectionState.Closed Then
con.Open()
End If
dap.Fill(das, "Isometric")
If das.Tables(0).Rows.Count 0 Then
das.Tables(0).Rows(0).Item("Sheet") = 999
dap.Update(das, "Isometric")
End If
Gene
Nov 2 '06 #2
It was the QuotePrefix/Sufix. I am updating tables that users create,
so there is always the possibility of spaces & other bad characters in
column names.

I have been reading article after article, post after post about the
drawbacks of the ADO commandbuilder object, one of them being that it
can't work if your column names have spaces/bad characters in them. I
agree with most the criticism, but I am amazed that I havn't read about
the Quoteprefix/suffix thing before. As long as you know what your
back end uses to enclose column names in SQL, this is no longer a
problem. For the simple updating I was trying to do, this problem has
now gone away.
After reading your post I searched for articles that talk about the
Quoteprefix/suffix members and there didn't seem to be many relevant
ones that recognized the value of these members.
For simple dataset updates, in certain situations such as mine, the
quoteprefix/suffix members have made the commandbuilder object usefull
and will save me time.

Thanks for the help!

Nov 2 '06 #3
On 2 Nov 2006 12:50:27 -0800, "Bryan" <br*******@gmail.comwrote:
>It was the QuotePrefix/Sufix. I am updating tables that users create,
so there is always the possibility of spaces & other bad characters in
column names.

I have been reading article after article, post after post about the
drawbacks of the ADO commandbuilder object, one of them being that it
can't work if your column names have spaces/bad characters in them. I
agree with most the criticism, but I am amazed that I havn't read about
the Quoteprefix/suffix thing before. As long as you know what your
back end uses to enclose column names in SQL, this is no longer a
problem. For the simple updating I was trying to do, this problem has
now gone away.
After reading your post I searched for articles that talk about the
Quoteprefix/suffix members and there didn't seem to be many relevant
ones that recognized the value of these members.
For simple dataset updates, in certain situations such as mine, the
quoteprefix/suffix members have made the commandbuilder object usefull
and will save me time.

Thanks for the help!

The example I gave was based on an example found in the Help File which includes the
quote prefix/sufix. I was intially using this sort of method, myself. But for some
reason (at least here), using the command builder and data adapter seems to have a
proportional performance hit the larger the data base. I have since modified my
project to use explicit UPDATE, INSERT, or DELETE commmands with Execute.NonQuery()
which gives the same performace regardless of the database size.

Gene
Nov 3 '06 #4

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

Similar topics

13
by: Samantha Smit | last post by:
Hi, I am trying to create a simple asp page that has one command button that updates a database. The URL of the page is like this: http://MyServer.com/Update.asp?UserName=Tom My asp code is...
2
by: Alpha | last post by:
Hi, I have a window based program. One of the form has several textboxes and a datagrid. The textboxes are bind to the same dataset table as the datagrid and the text changes to reflect different...
5
by: Wayne Wengert | last post by:
I am using VB ASP.NET. In my page I convert an uploaded XML file to a dataset as follows: Dim ds1 As DataSet = New DataSet ds1.ReadXml(strPathName, XmlReadMode.Auto) Now I want to append...
15
by: JIM.H. | last post by:
Hello, Can I send a dataset as a parameter into stored procedure and import data to a table in the stored procedure? Thanks, Jim.
7
by: Dan Sikorsky | last post by:
How do you iterate thru a dataset to change money fields to a different value? Here's what I have. My dataset is filled directly from a stored procedure. ' Create Instance of Connection and...
13
by: Lars Netzel | last post by:
hi! myDataSet that is fillled from an Access 2000 db and includes ONE table From that Table in myDataSet I create myDataView and use a Rowfilter to get a few rows that i work with (i need a...
14
by: Lars Netzel | last post by:
A little background: I use three Datagrids that are in a child parent relation. I Use Negative Autoincrement on the the DataTables and that's workning nice. My problem is when I Update these...
4
by: Peter Proost | last post by:
Hello group, what would be the best way to do the next thing: I've got a grid form with about 15000 records, when I double click a row a detail form is opened and the user can modify and save...
6
by: Arne Beruldsen | last post by:
I have a very simple Access data base. No new info is going to be added...the only changes are to existing fields. I have 2 tables both with one row each. I'm using vb.net. I can easily...
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: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
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: 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
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
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,...
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...

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.