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

Discussion in 'ASP .Net' started by slinky, Aug 10, 2007.

  1. slinky

    slinky Guest

    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.
    ---------------------------------------------------------------------------­-----

    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 = cmdSelect
    Line 33: da.InsertCommand = 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­
    ns
    options, Object poolGroupProviderInfo, DbConnectionPool pool,
    DbConnection owningObject) +53

    System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbCo­
    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 = _
    New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
    Server.MapPath("~/App_Data/Lowes.mdb") & "Initial
    Catalog=Assets;Integrated Security=SSPI")
    Dim ds As DataSet = New DataSet()
    Dim da As OleDbDataAdapter = New OleDbDataAdapter()
    If Not IsPostBack Then
    Dim cmdSelect As OleDbCommand = _
    cnn.CreateCommand()
    cmdSelect.CommandType = CommandType.Text
    cmdSelect.CommandText = _
    "SELECT ([Asset Number], Description, [Serial Number], Mfg, AssetType,
    RDCnumber) FROM Assets"
    Dim cmdInsert As OleDbCommand = _
    cnn.CreateCommand()
    cmdInsert.CommandType = CommandType.Text
    cmdInsert.CommandText = _
    "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 = DataRowVersion.Original
    da.SelectCommand = cmdSelect
    da.InsertCommand = 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 = _
    New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
    Server.MapPath("~/App_Data/Lowes.mdb") & "Initial
    Catalog=Assets;Integrated Security=SSPI")
    Dim ds As DataSet = New DataSet()
    Dim da As OleDbDataAdapter = New OleDbDataAdapter()
    Dim dr As DataRow = ds.Tables("Assets").NewRow()
    dr(0) = txtAsset_Number.Text
    dr(1) = txtDescription.Text
    dr(2) = txtSerial_Number.Text
    dr(3) = txtMfg.Text
    dr(4) = txtAssetType.Text
    dr(5) = txtRDCnumber.Text
    ds.Tables("Assets").Rows.Add(dr)
    da.Update(ds, "Assets")
    End Sub
    End Class
     
    slinky, Aug 10, 2007
    #1
    1. Advertising

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

    slinky wrote:
    > 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

    > 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
    _____
    http://www.guffa.com
     
    =?ISO-8859-1?Q?G=F6ran_Andersson?=, Aug 10, 2007
    #2
    1. Advertising

  3. On Aug 10, 9:09 pm, slinky <> wrote:
    > 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.
    > ---------------------------------------------------------------------------­­-----
    >
    > 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 = cmdSelect
    > Line 33: da.InsertCommand = 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­­
    > ns
    > options, Object poolGroupProviderInfo, DbConnectionPool pool,
    > DbConnection owningObject) +53
    >
    > System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbCo­­
    > 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 = _
    > New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
    > Server.MapPath("~/App_Data/Lowes.mdb") & "Initial
    > Catalog=Assets;Integrated Security=SSPI")
    > Dim ds As DataSet = New DataSet()
    > Dim da As OleDbDataAdapter = New OleDbDataAdapter()
    > If Not IsPostBack Then
    > Dim cmdSelect As OleDbCommand = _
    > cnn.CreateCommand()
    > cmdSelect.CommandType = CommandType.Text
    > cmdSelect.CommandText = _
    > "SELECT ([Asset Number], Description, [Serial Number], Mfg, AssetType,
    > RDCnumber) FROM Assets"
    > Dim cmdInsert As OleDbCommand = _
    > cnn.CreateCommand()
    > cmdInsert.CommandType = CommandType.Text
    > cmdInsert.CommandText = _
    > "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 = DataRowVersion.Original
    > da.SelectCommand = cmdSelect
    > da.InsertCommand = 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 = _
    > New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
    > Server.MapPath("~/App_Data/Lowes.mdb") & "Initial
    > Catalog=Assets;Integrated Security=SSPI")
    > Dim ds As DataSet = New DataSet()
    > Dim da As OleDbDataAdapter = New OleDbDataAdapter()
    > Dim dr As DataRow = ds.Tables("Assets").NewRow()
    > dr(0) = txtAsset_Number.Text
    > dr(1) = txtDescription.Text
    > dr(2) = txtSerial_Number.Text
    > dr(3) = txtMfg.Text
    > dr(4) = txtAssetType.Text
    > dr(5) = 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 = _
    New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
    Server.MapPath("~/App_Data/Lowes.mdb"))

    More info: http://connectionstrings.com/?carrier=access

    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.1) "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.2) What's this?

    da.SelectCommand = cmdSelect
    da.InsertCommand = cmdInsert
    da.Fill(ds, "Assets")

    Either do an insert, or select

    Use MSDN to get working samples, for example:
    http://support.microsoft.com/kb/815629

    5) ... ? :)
     
    Alexey Smirnov, Aug 10, 2007
    #3
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. RC
    Replies:
    1
    Views:
    408
    mortb
    Nov 11, 2004
  2. godwin
    Replies:
    0
    Views:
    437
    godwin
    Mar 23, 2005
  3. shapper

    Include Assets in Library

    shapper, Nov 19, 2007, in forum: ASP .Net
    Replies:
    1
    Views:
    279
    Hans Kesting
    Nov 19, 2007
  4. Cy Huckaba
    Replies:
    1
    Views:
    120
  5. Alex Maghen

    Forms-Based Authentiction and NON ASP.NET Assets

    Alex Maghen, Feb 20, 2005, in forum: ASP .Net Security
    Replies:
    4
    Views:
    184
    ranganh
    Feb 22, 2005
Loading...

Share This Page