Board index » Web Programming » Error message puzzle "da.Fill(ds, "Assets") "

Error message puzzle "da.Fill(ds, "Assets") "

Web Programming144
I'm getting a error when I open my . aspx in my browser... line 34:

da.Fill(ds, "Assets")

Here's the error and my entire code for this .aspx.vb is below

that ...

I need some clues as to what is causing the error... Thanks!!!



Server Error in '/' Application.

---------------------------------------------------------------------------=

=AD-----



Multiple-step OLE DB operation generated errors. Check each OLE DB

status value, if available. No work was done.

Description: An unhandled exception occurred during the execution of

the current web request. Please review the stack trace for more

information about the error and where it originated in the code.



Exception Details: System.Data.OleDb.OleDbException: Multiple-step

OLE

DB operation generated errors. Check each OLE DB status value, if

available. No work was done.



Source Error:



Line 32: da.SelectCommand =3D cmdSelect

Line 33: da.InsertCommand =3D cmdInsert

Line 34: da.Fill(ds, "Assets")

Line 35: End If

Line 36: End Sub



Source File: E:\kunden\homepages\26\d190091667\Default5.aspx.vb

Line: 34



Stack Trace:



[OleDbException (0x80040e21): Multiple-step OLE DB operation

generated

errors. Check each OLE DB status value, if available. No work was

done.]



System.Data.OleDb.OleDbServicesWrapper.GetDataSource(OleDbConnectionString

constr, DataSourceWrapper& datasrcWrapper) +209



System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString

constr, OleDbConnection connection) +118



System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptio=

=AD

ns

options, Object poolGroupProviderInfo, DbConnectionPool pool,

DbConnection owningObject) +53



System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbCo=

=AD

nnection

owningConnection, DbConnectionPoolGroup poolGroup) +27



System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection

owningConnection) +47



System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection

outerConnection, DbConnectionFactory connectionFactory) +105

System.Data.OleDb.OleDbConnection.Open() +37

System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset,

DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String

srcTable, IDbCommand command, CommandBehavior behavior) +121

System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32

startRecord, Int32 maxRecords, String srcTable, IDbCommand command,

CommandBehavior behavior) +137

System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String

srcTable) +83

Default5.Page_Load(Object sender, EventArgs e) in E:\kunden

\homepages\26\d190091667\Default5.aspx.vb:34

System.Web.UI.Control.OnLoad(EventArgs e) +99

System.Web.UI.Control.LoadRecursive() +47

System.Web.UI.Page.ProcessRequestMain(Boolean

includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

+1061





Imports System.Data

Imports System.Data.OleDb

Public Class Default5

Inherits System.Web.UI.Page

Private Sub Page_Load(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles MyBase.Load

Dim cnn As OleDbConnection =3D _

New OleDbConnection("Provider=3DMicrosoft.Jet.OLEDB.4.0;Data Source=3D" &

Server.MapPath("~/App_Data/Lowes.mdb") & "Initial

Catalog=3DAssets;Integrated Security=3DSSPI")

Dim ds As DataSet =3D New DataSet()

Dim da As OleDbDataAdapter =3D New OleDbDataAdapter()

If Not IsPostBack Then

Dim cmdSelect As OleDbCommand =3D _

cnn.CreateCommand()

cmdSelect.CommandType =3D CommandType.Text

cmdSelect.CommandText =3D _

"SELECT ([Asset Number], Description, [Serial Number], Mfg, AssetType,

RDCnumber) FROM Assets"

Dim cmdInsert As OleDbCommand =3D _

cnn.CreateCommand()

cmdInsert.CommandType =3D CommandType.Text

cmdInsert.CommandText =3D _

"INSERT INTO Assets " & _

"([Asset Number], Description, [Serial Number], Mfg, AssetType,

RDCnumber) " & _

"VALUES(@AssetNumber, @Description, @Serial_Number, @Mfg, @AssetType,

@RDCnumber"

cmdInsert.Parameters.Add("@txtAsset_Number",

OleDbType.Double, 12, "[Asset Number]")

cmdInsert.Parameters.Add("@txtDescription",

OleDbType.WChar, 40, "Description")

cmdInsert.Parameters.Add("@txtSerial_Number",

OleDbType.WChar, 30, "[Serial Number]")

cmdInsert.Parameters.Add("@txtMfg", OleDbType.WChar, 30,

"Mfg")

cmdInsert.Parameters.Add("@txtAssetType", OleDbType.WChar,

30, "AssetType")

cmdInsert.Parameters.Add("@txtRDCNumber", OleDbType.WChar,

30, "RDCnumber")

Dim SourceVersion As DataRowVersion

SourceVersion =3D DataRowVersion.Original

da.SelectCommand =3D cmdSelect

da.InsertCommand =3D cmdInsert

da.Fill(ds, "Assets")

End If

End Sub

Private Sub btnAdd_Click( _

ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles btnAdd.Click

Dim cnn As OleDbConnection =3D _

New OleDbConnection("Provider=3DMicrosoft.Jet.OLEDB.4.0;Data Source=3D" &

Server.MapPath("~/App_Data/Lowes.mdb") & "Initial

Catalog=3DAssets;Integrated Security=3DSSPI")

Dim ds As DataSet =3D New DataSet()

Dim da As OleDbDataAdapter =3D New OleDbDataAdapter()

Dim dr As DataRow =3D ds.Tables("Assets").NewRow()

dr(0) =3D txtAsset_Number.Text

dr(1) =3D txtDescription.Text

dr(2) =3D txtSerial_Number.Text

dr(3) =3D txtMfg.Text

dr(4) =3D txtAssetType.Text

dr(5) =3D txtRDCnumber.Text

ds.Tables("Assets").Rows.Add(dr)

da.Update(ds, "Assets")

End Sub

End Class


-
 

Re:Error message puzzle "da.Fill(ds, "Assets") "

Why another thread? You already had one about this...



slinky wrote:

Quote
I'm getting a error when I open my . aspx in my browser... line 34:

da.Fill(ds, "Assets")

Here's the error and my entire code for this .aspx.vb is below

that ...

I need some clues as to what is causing the error... Thanks!!!





8< snip



Quote
cmdSelect.CommandText = _

"SELECT ([Asset Number], Description, [Serial Number], Mfg, AssetType,

RDCnumber) FROM Assets"



"Description" is a reserved keyword in Access. Put brackets around it.



--

Göran Andersson

_____

www.guffa.com">www.guffa.com

-

Re:Error message puzzle "da.Fill(ds, "Assets") "

On Aug 10, 9:09 pm, slinky <campbellbrian2...@yahoo.com>wrote:

Quote
I'm getting a error when I open my . aspx in my browser... line 34:

da.Fill(ds, "Assets")

Here's the error and my entire code for this .aspx.vb is below

that ...

I need some clues as to what is causing the error... Thanks!!!



Server Error in '/' Application.

-------------------------------------------------------------------------=

--=AD=AD-----



Multiple-step OLE DB operation generated errors. Check each OLE DB

status value, if available. No work was done.

Description: An unhandled exception occurred during the execution of

the current web request. Please review the stack trace for more

information about the error and where it originated in the code.



Exception Details: System.Data.OleDb.OleDbException: Multiple-step

OLE

DB operation generated errors. Check each OLE DB status value, if

available. No work was done.



Source Error:



Line 32: da.SelectCommand =3D cmdSelect

Line 33: da.InsertCommand =3D cmdInsert

Line 34: da.Fill(ds, "Assets")

Line 35: End If

Line 36: End Sub



Source File: E:\kunden\homepages\26\d190091667\Default5.aspx.vb

Line: 34



Stack Trace:



[OleDbException (0x80040e21): Multiple-step OLE DB operation

generated

errors. Check each OLE DB status value, if available. No work was

done.]



System.Data.OleDb.OleDbServicesWrapper.GetDataSource(OleDbConnectionString

constr, DataSourceWrapper& datasrcWrapper) +209



System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString

constr, OleDbConnection connection) +118



System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOpt=

io=AD=AD

ns

options, Object poolGroupProviderInfo, DbConnectionPool pool,

DbConnection owningObject) +53



System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(Db=

Co=AD=AD

nnection

owningConnection, DbConnectionPoolGroup poolGroup) +27



System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection

owningConnection) +47



System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection

outerConnection, DbConnectionFactory connectionFactory) +105

System.Data.OleDb.OleDbConnection.Open() +37

System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset,

DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String

srcTable, IDbCommand command, CommandBehavior behavior) +121

System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32

startRecord, Int32 maxRecords, String srcTable, IDbCommand command,

CommandBehavior behavior) +137

System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String

srcTable) +83

Default5.Page_Load(Object sender, EventArgs e) in E:\kunden

\homepages\26\d190091667\Default5.aspx.vb:34

System.Web.UI.Control.OnLoad(EventArgs e) +99

System.Web.UI.Control.LoadRecursive() +47

System.Web.UI.Page.ProcessRequestMain(Boolean

includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

+1061



Imports System.Data

Imports System.Data.OleDb

Public Class Default5

Inherits System.Web.UI.Page

Private Sub Page_Load(ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles MyBase.Load

Dim cnn As OleDbConnection =3D _

New OleDbConnection("Provider=3DMicrosoft.Jet.OLEDB.4.0;Data Source=3D" &

Server.MapPath("~/App_Data/Lowes.mdb") & "Initial

Catalog=3DAssets;Integrated Security=3DSSPI")

Dim ds As DataSet =3D New DataSet()

Dim da As OleDbDataAdapter =3D New OleDbDataAdapter()

If Not IsPostBack Then

Dim cmdSelect As OleDbCommand =3D _

cnn.CreateCommand()

cmdSelect.CommandType =3D CommandType.Text

cmdSelect.CommandText =3D _

"SELECT ([Asset Number], Description, [Serial Number], Mfg, AssetType,

RDCnumber) FROM Assets"

Dim cmdInsert As OleDbCommand =3D _

cnn.CreateCommand()

cmdInsert.CommandType =3D CommandType.Text

cmdInsert.CommandText =3D _

"INSERT INTO Assets " & _

"([Asset Number], Description, [Serial Number], Mfg, AssetType,

RDCnumber) " & _

"VALUES(@AssetNumber, @Description, @Serial_Number, @Mfg, @AssetType,

@RDCnumber"

cmdInsert.Parameters.Add("@txtAsset_Number",

OleDbType.Double, 12, "[Asset Number]")

cmdInsert.Parameters.Add("@txtDescription",

OleDbType.WChar, 40, "Description")

cmdInsert.Parameters.Add("@txtSerial_Number",

OleDbType.WChar, 30, "[Serial Number]")

cmdInsert.Parameters.Add("@txtMfg", OleDbType.WChar, 30,

"Mfg")

cmdInsert.Parameters.Add("@txtAssetType", OleDbType.WChar,

30, "AssetType")

cmdInsert.Parameters.Add("@txtRDCNumber", OleDbType.WChar,

30, "RDCnumber")

Dim SourceVersion As DataRowVersion

SourceVersion =3D DataRowVersion.Original

da.SelectCommand =3D cmdSelect

da.InsertCommand =3D cmdInsert

da.Fill(ds, "Assets")

End If

End Sub

Private Sub btnAdd_Click( _

ByVal sender As System.Object, _

ByVal e As System.EventArgs) Handles btnAdd.Click

Dim cnn As OleDbConnection =3D _

New OleDbConnection("Provider=3DMicrosoft.Jet.OLEDB.4.0;Data Source=3D" &

Server.MapPath("~/App_Data/Lowes.mdb") & "Initial

Catalog=3DAssets;Integrated Security=3DSSPI")

Dim ds As DataSet =3D New DataSet()

Dim da As OleDbDataAdapter =3D New OleDbDataAdapter()

Dim dr As DataRow =3D ds.Tables("Assets").NewRow()

dr(0) =3D txtAsset_Number.Text

dr(1) =3D txtDescription.Text

dr(2) =3D txtSerial_Number.Text

dr(3) =3D txtMfg.Text

dr(4) =3D txtAssetType.Text

dr(5) =3D txtRDCnumber.Text

ds.Tables("Assets").Rows.Add(dr)

da.Update(ds, "Assets")

End Sub

End Class



Hallo...



1) Connection string is wrong. Must be:



Dim cnn As OleDbConnection =3D _

New OleDbConnection("Provider=3DMicrosoft.Jet.OLEDB.4.0;Data Source=3D" &

Server.MapPath("~/App_Data/Lowes.mdb"))



More info: http://connectionstrings.com/?carrier" rel="nofollow" target="_blank">connectionstrings.com/=3Daccess



2) SQL query is wrong.



Look at the end of



"INSERT INTO Assets " & _

"([Asset Number], Description, [Serial Number], Mfg, AssetType,

RDCnumber) " & _

"VALUES(@AssetNumber, @Description, @Serial_Number, @Mfg, @AssetType,

@RDCnumber"



you forget to close the statement -->) <--



3) Parameter names are wrong.



In VALUES clause you have parameters with names @AssetNumber,

@Description... But in the code below you have other names, e.g.



cmdInsert.Parameters.Add("@txtAsset_Number", OleDbType.Double, 12,

"[Asset Number]")



Must be "@AssetNumber" and not "@txtAsset_Number", etc.



4) Logic is wrong.



4=2E1) "If Not IsPostBack Then" means that insert will be executed when

page is loaded for the first time with no values in the form.



4=2E2) What's this?



da.SelectCommand =3D cmdSelect

da.InsertCommand =3D cmdInsert

da.Fill(ds, "Assets")



Either do an insert, or select



Use MSDN to get working samples, for example:

support.microsoft.com/kb/815629">support.microsoft.com/kb/815629



5) ... ? :-)



-