Hi, Thanks for the help so far...

It still doesn't work though.  No data is displayed in the datagrid
when I click the update button.

Here is my complete code:

<%@ Page Language="VB" Debug="True" %>
<%@ Register Tagprefix="DSS" TagName="Header" Src="header.ascx" %>
<%@ Register Tagprefix="DSS" TagName="Menu" Src="menu.ascx" %>

<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<script runat="server">
    Sub Page_Load(sender as Object, e as EventArgs)
        If Not Page.IsPostBack
            BindData()
        End If     
    End Sub
    
    Sub BindData()
                dim objConn as new OleDbConnection
("Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=C:\DSS\DSS.mdb")
                objConn.Open()
                Dim ScenID As String = Request.QueryString("ScenID")
        Dim UserID as Integer = CStr(Request.Params("UserID"))
        
                Dim strSQL as String = "SELECT tblScenCrit.CriteriaID,
tblScenCrit.WeightID, tblScenCrit.UserID, tblScenCrit.ScenarioID,
tblWeighting.Weighting, tblCriteria.Name, tblCriteria.Description FROM
tblCriteria INNER JOIN (tblWeighting INNER JOIN tblScenCrit ON
tblWeighting.WeightID = tblScenCrit.WeightID) ON
tblCriteria.CriteriaID = tblScenCrit.CriteriaID WHERE UserID =" &
Session(UserID) & " and tblScenCrit.ScenarioID = '" &
(Context.Items("ScenID")) & "'"
                Dim objCmd as New OleDbCommand(strSQL, objConn)
                dgCrit.DataSource =
objCmd.ExecuteReader(CommandBehavior.CloseConnection)
                dgCrit.DataBind()
                objConn.Close() 
    End Sub
    
    Sub dgCrit_Edit(sender As Object, e As DataGridCommandEventArgs)
        dgCrit.EditItemIndex = e.Item.ItemIndex
        BindData() 
    End Sub

    Sub dgCrit_Cancel(sender As Object, e As DataGridCommandEventArgs)
        dgCrit.EditItemIndex = -1
        BindData() 
    End Sub

    Sub dgCrit_Update(sender As Object, e As DataGridCommandEventArgs)
                Dim ScenID As String = Request.QueryString("ScenID")
                Dim UserID As Integer = CStr(Request.Params("UserID"))
                
                Dim strCriteriaID as String = e.Item.Cells(1).Text
                Dim strName as String = e.Item.Cells(2).Text
                Dim strDescription as String = e.Item.Cells(3).Text
                Dim strScenarioID as String = e.Item.Cells(4).Text
                Dim strUserID as String = e.Item.Cells(5).Text
                Dim strWeightID as String = 
CType(e.Item.FindControl("ddlWeight"),
DropDownList).SelectedItem.Value

                Dim strSQL as String = "UPDATE tblScenCrit SET
tblScenCrit.WeightID=" + strWeightID +" WHERE
(((tblScenCrit.ScenarioID)="+ strScenarioID +") AND
((tblScenCrit.UserID)='"+ strUserID + "') AND
((tblScenCrit.CriteriaID)="+ strCriteriaID +"))"

                dim objConn as new OleDbConnection
("Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=C:\DSS\DSS.mdb")            
                objConn.Open()
                Dim myCommand as OleDbCommand = new OleDbCommand(strSQL, 
objConn)
                myCommand.CommandType = CommandType.Text
        
                Dim parameterWeightID as OleDbParameter = new
OleDbParameter("@WeightID", OleDbType.Char)
                parameterWeightID.Value = strWeightID
                myCommand.Parameters.Add(parameterWeightID)
                
                Dim parameterCriteriaID as OleDbParameter = new
OleDbParameter("@CriteriaID", OleDbType.Char)
                parameterCriteriaID.Value = strCriteriaID
                myCommand.Parameters.Add(parameterCriteriaID)
                
                Dim parameterName as OleDbParameter = new 
OleDbParameter("@Name",
OleDbType.Char)
                parameterName.Value = strName
                myCommand.Parameters.Add(parameterName)
                
                Dim parameterDescription as OleDbParameter = new
OleDbParameter("@Description", OleDbType.Char)
                parameterDescription.Value = strDescription
                myCommand.Parameters.Add(parameterDescription)
                
                Dim parameterScenarioID as OleDbParameter = new
OleDbParameter("@ScenarioID", OleDbType.Char)
                parameterScenarioID.Value = strScenarioID
                myCommand.Parameters.Add(parameterScenarioID)
                
                Dim parameterUserID as OleDbParameter = new
OleDbParameter("@UserID", OleDbType.Char)
                parameterUserID.Value = strUserID
                myCommand.Parameters.Add(parameterUserID)

                myCommand.ExecuteNonQuery()
                objConn.Close()
                
                dgCrit.EditItemIndex = -1
                BindData()       
    End Sub
    
    Function GetWeight() as DataSet
                Dim objConn as New OleDbConnection
("Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=C:\DSS\DSS.mdb")
                Dim objCmd as New OleDbDataAdapter("SELECT WeightID, Weighting 
from
tblWeighting ORDER BY Weighting", objConn)
                Dim ddlDataSet as DataSet = New DataSet()
                objCmd.Fill(ddlDataSet, "ddlWeight")
                Return ddlDataSet
        End Function
</script>

<html>
<Title>Decision Support System</Title>
<body>
<DSS:Header runat="server" />
<table>
<tr>
<td>
        <DSS:Menu runat="server" />
</td>
<td width="100%" valign="top"><br>
        <center>
                 <form runat="server">
        <asp:DataGrid id="dgCrit" runat="server"
            AutoGenerateColumns="False" CellPadding="4"
            HeaderStyle-BackColor="#0000bf"
            HeaderStyle-ForeColor="White"
            HeaderStyle-HorizontalAlign="Center"
            HeaderStyle-Font-Bold="True"
            EditItemStyle-BackColor="#ccccee"
            OnEditCommand="dgCrit_Edit"
            OnUpdateCommand="dgCrit_Update"
            OnCancelCommand="dgCrit_Cancel"
            DataKeyField="CriteriaID">
        
            <Columns>
                <asp:EditCommandColumn EditText="Add Weights"
ButtonType="PushButton"
                UpdateText="Update" CancelText="Cancel" />           
       
                <asp:BoundColumn HeaderText="Criteria ID"
DataField="CriteriaID" ReadOnly="True" />                            
               
                <asp:BoundColumn HeaderText="Name" DataField="Name"
ReadOnly="True" /> 
                <asp:BoundColumn HeaderText="Description"
DataField="Description" ReadOnly="True" /> 
                <asp:BoundColumn HeaderText="ScenarioID"
DataField="ScenarioID" ReadOnly="True" /> 
                <asp:BoundColumn HeaderText="UserID"
DataField="UserID" ReadOnly="True" /> 
                <asp:TemplateColumn HeaderText="Weight">
                                        <ItemTemplate>
                                                <%# 
DataBinder.Eval(Container.DataItem, "Weighting") %>
                                        </ItemTemplate>
                                        <EditItemTemplate>
                                                <asp:DropDownList 
runat="server" id="ddlWeight"
DataValueField="WeightID" DataTextField="Weighting" DataSource="<%#
GetWeight() %>" />
                                        </EditItemTemplate>
                                </asp:TemplateColumn>
             </columns>      
        </asp:DataGrid>
    </form>
        </center>
</td>
</tr>
</table>
</body>
</html>






--- In [email protected], krishan kant chamoli
<[EMAIL PROTECTED]> wrote:
> Hi Dj,
>     I go though your code and find that upto function "BindData()"
is concern your code is correct. 
> But there is some problem in your update "dgCrit_Update" part. The
error part exists in following statement:
> Note That:
> "  The OLE DB .NET Provider does not support named parameters for
passing parameters to an SQL Statement or a stored procedure called by
an      OleDbCommand when CommandType is set to Text. In this case,
the question mark (?) placeholder must be used. For example:
>    SELECT * FROM Customers WHERE CustomerID = ?     "
> 
> So, Kindly check your code, since u are using access database so u
unable to create a stored procedure. So, dear If your purpose is only 
> to update the value and display updated value in grid then write
following sql statement:
>  Dim strSQL as String = " UPDATE tblScenCrit SET
tblScenCrit.WeightID=" + strWeightId +" WHERE
(((tblScenCrit.ScenarioID)="+ strSecenarioId +") AND
((tblScenCrit.UserID)='"+ strUserId + "') AND
((tblScenCrit.CriteriaID)="+ strCriteriaID +"))"
> Also, If datagrid is not displaying after updating it means some
exception is raised in this event. So, put your code within 
> try... catch block.
> 
> For more help, please see MSDN :
ms-help://MS.VSCC.2003/MS.MSDNQTR.2005JAN.1033/cpr
ef/html/frlrfsystemdataoledboledbcommandclassparameterstopic.htm
> Let me know whether it work or not.
> 
> Krishan Kant
> 
> 
> DD <[EMAIL PROTECTED]> wrote:
> Hi all,
> 
> I have a datagrid that queries data on two fields, UserID and
> ScenarioID.  It displays the data fine, but when I click the update
> button no data is displayed.
> 
> Snippets of my code:
> 
> Sub BindData()
>             dim objConn as new OleDbConnection
> ("Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=C:\DSS\DSS.mdb")
>             objConn.Open()
>             Dim ScenID As String = Request.QueryString("ScenID")
>             Dim ProjID As String = Request.QueryString("ProjID")
>         Dim UserID as Integer = CStr(Request.Params("UserID"))
>             Dim strSQL as String = "SELECT tblScenCrit.CriteriaID,
> tblScenCrit.WeightID, tblScenCrit.UserID, tblScenCrit.ScenarioID,
> tblWeighting.Weighting, tblCriteria.Name, tblCriteria.Description
FROM
> tblCriteria INNER JOIN (tblWeighting INNER JOIN tblScenCrit ON
> tblWeighting.WeightID = tblScenCrit.WeightID) ON
> tblCriteria.CriteriaID = tblScenCrit.CriteriaID WHERE UserID =" &
> Session(UserID) & " and ScenarioID = '" & (Context.Items("ScenID"))
&
> "'"
>             Dim objCmd as New OleDbCommand(strSQL, objConn)
>             dgCrit.DataSource =
> objCmd.ExecuteReader(CommandBehavior.CloseConnection)
>             dgCrit.DataBind()
>             objConn.Close()      
>     End Sub
> 
> and.....
> 
> Sub dgCrit_Update(sender As Object, e As DataGridCommandEventArgs)
>             Dim ScenID As String = Request.QueryString("ScenID")
>             Dim UserID As Integer = CStr(Request.Params("UserID"))
>             
>             Dim strCriteriaID as String = e.Item.Cells(1).Text
>             Dim strName as String = e.Item.Cells(2).Text
>             Dim strDescription as String = e.Item.Cells(3).Text
>             Dim strScenarioID as String = e.Item.Cells(4).Text
>             Dim strUserID as String = e.Item.Cells(5).Text
>             Dim strWeightID as String =
CType(e.Item.FindControl("ddlWeight"),
> DropDownList).SelectedItem.Value
>       
>             ' Dim strSQL as String =      "UPDATE [tblScenCrit] SET
[WeightID] =
> @WeightID WHERE [CriteriaID] = @CriteriaID"
>             Dim strSQL as String = " UPDATE tblScenCrit SET
tblScenCrit.WeightID
> = [EMAIL PROTECTED] WHERE (((tblScenCrit.ScenarioID)[EMAIL PROTECTED]) AND
> ((tblScenCrit.UserID)[EMAIL PROTECTED]) AND
> ((tblScenCrit.CriteriaID)[EMAIL PROTECTED]))"
>             
>       
> 
>             dim objConn as new OleDbConnection
> ("Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=C:\DSS\DSS.mdb")
           
>             objConn.Open()
>             Dim myCommand as OleDbCommand = new OleDbCommand(strSQL,
objConn)
>             myCommand.CommandType = CommandType.Text
>       
>             Dim parameterWeightID as OleDbParameter = new
> OleDbParameter("@WeightID", OleDbType.Char)
>             parameterWeightID.Value = strWeightID
>             myCommand.Parameters.Add(parameterWeightID)
>             
>             Dim parameterCriteriaID as OleDbParameter = new
> OleDbParameter("@CriteriaID", OleDbType.Char)
>             parameterCriteriaID.Value = strCriteriaID
>             myCommand.Parameters.Add(parameterCriteriaID)
>             
>             Dim parameterName as OleDbParameter = new
OleDbParameter("@Name",
> OleDbType.Char)
>             parameterName.Value = strName
>             myCommand.Parameters.Add(parameterName)
>             
>             Dim parameterDescription as OleDbParameter = new
> OleDbParameter("@Description", OleDbType.Char)
>             parameterDescription.Value = strDescription
>             myCommand.Parameters.Add(parameterDescription)
>             
>             Dim parameterScenarioID as OleDbParameter = new
> OleDbParameter("@ScenarioID", OleDbType.Char)
>             parameterScenarioID.Value = strScenarioID
>             myCommand.Parameters.Add(parameterScenarioID)
>             
>             Dim parameterUserID as OleDbParameter = new
> OleDbParameter("@UserID", OleDbType.Char)
>             parameterUserID.Value = strUserID
>             myCommand.Parameters.Add(parameterUserID)
>             
>             
> 
>             myCommand.ExecuteNonQuery()
>             objConn.Close()
>             
>             dgCrit.EditItemIndex = -1
>             BindData()       
>     End Sub
>     
>     Function GetWeight() as DataSet
>             Dim objConn as New OleDbConnection
> ("Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=C:\DSS\DSS.mdb")
>             Dim objCmd as New OleDbDataAdapter("SELECT WeightID,
Weighting from
> tblWeighting ORDER BY Weighting", objConn)
>             Dim ddlDataSet as DataSet = New DataSet()
>             objCmd.Fill(ddlDataSet, "ddlWeight")
>             Return ddlDataSet
>       End Function
> 
> and....
> 
> <asp:DataGrid id="dgCrit" runat="server"
>             AutoGenerateColumns="False" CellPadding="4"
>             HeaderStyle-BackColor="#0000bf"
>             HeaderStyle-ForeColor="White"
>             HeaderStyle-HorizontalAlign="Center"
>             HeaderStyle-Font-Bold="True"
>             EditItemStyle-BackColor="#ccccee"
>             OnEditCommand="dgCrit_Edit"
>             OnUpdateCommand="dgCrit_Update"
>             OnCancelCommand="dgCrit_Cancel"
>             DataKeyField="CriteriaID">
>         
>             <Columns>
>                 <asp:EditCommandColumn EditText="Add Weights"
> ButtonType="PushButton"
>                 UpdateText="Update" CancelText="Cancel" />         
 
>        
>                 <asp:BoundColumn HeaderText="Criteria ID"
> DataField="CriteriaID" ReadOnly="True" />                          
 
>                
>                 <asp:BoundColumn HeaderText="Name" DataField="Name"
> ReadOnly="True" /> 
>                 <asp:BoundColumn HeaderText="Description"
> DataField="Description" ReadOnly="True" /> 
>                 <asp:BoundColumn HeaderText="ScenarioID"
> DataField="ScenarioID" ReadOnly="True" /> 
>                 <asp:BoundColumn HeaderText="UserID"
> DataField="UserID" ReadOnly="True" /> 
>                 <asp:TemplateColumn HeaderText="Weight">
>                               <ItemTemplate>
>                                     <%#
DataBinder.Eval(Container.DataItem, "Weighting") %>
>                               </ItemTemplate>
>                               <EditItemTemplate>
>                                     <asp:DropDownList runat="server"
id="ddlWeight"
> DataValueField="WeightID" DataTextField="Weighting" DataSource="<%#
> GetWeight() %>" />
>                               </EditItemTemplate>
>                         </asp:TemplateColumn>
>              </columns>      
>         </asp:DataGrid>
> 
> Whats wrong with the code?!?
> 
> Thanks
> 
> DJ
> 
> 
> 
> 
> 
> 
> SPONSORED LINKS 
> Programming languages C programming language Computer programming
languages Java programming language C programming language History of
computer programming language 
> 
> ---------------------------------
> YAHOO! GROUPS LINKS 
> 
> 
>     Visit your group "AspNetAnyQuestionIsOk" on the web.
>   
>     To unsubscribe from this group, send an email to:
>  [EMAIL PROTECTED]
>   
>     Your use of Yahoo! Groups is subject to the Yahoo! Terms of
Service. 
> 
> 
> ---------------------------------
> 
> 
> 
> 
> --------------------------------------------------------------------
> Krishan Kant Chamoli                 Office:    +91-172-2653886
> Sikhya Solutions (P) Ltd.,           Fax:       +91-172-5018485
> 24/3, Industrial Area, Phase - 2,    Mobile: 9888263726
> Chandigarh. INDIA. Pin - 160002.     Email: [EMAIL PROTECTED]
> 
> --------------------------------------------------------------------
> Send instant messages to your online friends
http://uk.messenger.yahoo.com 
> 
> [Non-text portions of this message have been removed]




------------------------ Yahoo! Groups Sponsor --------------------~--> 
<font face=arial size=-1><a 
href="http://us.ard.yahoo.com/SIG=12hsok841/M=362329.6886308.7839368.1510227/D=groups/S=1705006764:TM/Y=YAHOO/EXP=1123504255/A=2894321/R=0/SIG=11dvsfulr/*http://youthnoise.com/page.php?page_id=1992
">Fair play? Video games influencing politics. Click and talk back!</a>.</font>
--------------------------------------------------------------------~-> 

 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/AspNetAnyQuestionIsOk/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 


Reply via email to