Hi DD,
Your update function still have some error. First of all put breakpoint on
statement:
> Dim strSQL as String
and copy value in strSql value in access & execute it, check whether it run
successfully or not. If not rectify it. Also rewrite following code in your
update function.
Note:
1) If your query execute successfully then manually check it in datebase.
2) Put your code in try ..... catch block
//////////////////////// Update funtion /////////////////////////////
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.ExecuteNonQuery()
objConn.Close()
dgCrit.EditItemIndex = -1
BindData()
End Sub
////////////////////////////////// Update Ends Here
//////////////////////////////////////
thanks & regards
Krishan Kant
DD <[EMAIL PROTECTED]> wrote:
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]
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=12hrreejg/M=362131.6882499.7825260.1510227/D=groups/S=1705006764:TM/Y=YAHOO/EXP=1123508638/A=2889191/R=0/SIG=10r90krvo/*http://www.thebeehive.org
">Get Bzzzy! (real tools to help you find a job) Welcome to the Sweet Life
- brought to you by One Economy</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/