updating a oldb datasource

R

rob merritt

I have a grideiw that feeds a detailView via 2 AccessDateSources the
detail view has and update command that
UpdateCommand="UPDATE [account] SET [acctnum] = ? WHERE [acctCode] =
[acctCode_ID_FK]"


does'nt update since it doesn't recognize the info from the DetailView
that it needs to do the update

any ideas?


<asp:AccessDataSource ID="AccessDataSource1" Runat="server"
DataFile="e:\db\travel\mile.mdb"
SelectCommand="SELECT employee.lastName,
employee.firstName, account_supervisor_int.acctCode_ID_FK,
account_supervisor_int.employee_ID_FK, employee.employeeID,
account.acctCode, account.acctnum FROM employee, account,
account_supervisor_int WHERE
(((account_supervisor_int.acctCode_ID_FK)=[acctCode]) AND
((account_supervisor_int.employee_ID_FK)=[employeeid]))" >
</asp:AccessDataSource>
<asp:GridView ID="GridView1" Runat="server" AllowPaging="True"
AllowSorting="True" DataSourceID="AccessDataSource1"
DataKeyNames="employeeid" AutoGenerateSelectButton="True">
</asp:GridView>
<asp:AccessDataSource ID="AccessDataSource2" Runat="server"
DataFile="e:\db\travel\mile.mdb"
SelectCommand="SELECT employee.lastName,
employee.firstName, account_supervisor_int.acctCode_ID_FK,
account_supervisor_int.employee_ID_FK, employee.employeeID,
account.acctCode, account.acctnum FROM employee, account,
account_supervisor_int WHERE
(((account_supervisor_int.acctCode_ID_FK)=[acctCode]) AND
((account_supervisor_int.employee_ID_FK)=[employeeid]))"
UpdateCommand="UPDATE [account] SET [acctnum] = ? WHERE
[acctCode] = [acctCode_ID_FK]"
InsertCommand="INSERT INTO [employee] ([employeeid])
VALUES (employeeid)" FilterExpression="employeeid='@employeeid'">
<FilterParameters>
<asp:ControlParameter Name="employeeid"
ControlID="GridView1"
PropertyName="SelectedValue"></asp:ControlParameter>
</FilterParameters>
</asp:AccessDataSource>
<asp:DetailsView ID="DetailsView1" Runat="server"
AutoGenerateDeleteButton="False"
AutoGenerateEditButton="True"
DataSourceID="AccessDataSource2" DataKeyNames="acctCode"
AutoGenerateInsertButton="False"
onitemupdated="DetailsView1_ItemUpdated" >
</asp:DetailsView>
 
R

rob merritt

turns out that
when you use a update command like:
updatecommand="UPDATE account SET acctnum = ? WHERE acctCode = ?"
then fields that are getting updated need to match up in your select
command
so by making acctnum and acctcode the same "ordinal" as in the update
Asp.Net matched em up.

selectcommand="SELECT account.acctnum, account.acctCode,
employee.lastName, employee.firstName,
account_supervisor_int.acctCode_ID_FK,
account_supervisor_int.employee_ID_FK, employee.employeeID FROM
employee, account, account_supervisor_int WHERE
(((account_supervisor_int.acctCode_ID_FK)=[acctCode]) AND
((account_supervisor_int.employee_ID_FK)=[employeeid]))"





<%@Page Language="C#" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>

</head>
<body onload="init()" background="./images/indtextb.jpg"
bgcolor="#FFFFFF" text="#000000" link="navy" vlink="navy"
alink="navy">
<form runat="server">

<asp:accessdatasource
id="AccessDataSource1"
runat="server"
datasourcemode="DataSet"
datafile="f:\db\travel\mile.mdb"
selectcommand="SELECT account.acctnum, account.acctCode,
employee.lastName, employee.firstName,
account_supervisor_int.acctCode_ID_FK,
account_supervisor_int.employee_ID_FK, employee.employeeID FROM
employee, account, account_supervisor_int WHERE
(((account_supervisor_int.acctCode_ID_FK)=[acctCode]) AND
((account_supervisor_int.employee_ID_FK)=[employeeid]))"
updatecommand="UPDATE account SET acctnum = ? WHERE acctCode =
?" >
</asp:accessdatasource>
<br />
<br />
<asp:gridview
id="GridView1"
runat="server"
autogeneratecolumns="False"
datakeynames="acctCode"
autogenerateeditbutton="True"
datasourceid="AccessDataSource1">
<HeaderStyle BorderColor="White" BackColor="SILVER"
ForeColor="navy" Font-Bold="True" Font-Names="Arial" Font-Size="9"
HorizontalAlign="Center" />
<RowStyle BorderColor="" BackColor="lightsteelblue"
ForeColor="navy" Font-Names="Arial" Font-Size="12" Font-Bold="True"
HorizontalAlign="Center" />
<columns>
<asp:boundfield headertext="acctnum" datafield="acctnum"
/>
<asp:boundfield headertext="firstName"
datafield="FirstName" ReadOnly />
<asp:boundfield headertext="lastName" datafield="LastName"
ReadOnly/>
</columns>
</asp:gridview>

</form>
</BODY>
</HTML>



I have a grideiw that feeds a detailView via 2 AccessDateSources the
detail view has and update command that
UpdateCommand="UPDATE [account] SET [acctnum] = ? WHERE [acctCode] =
[acctCode_ID_FK]"


does'nt update since it doesn't recognize the info from the DetailView
that it needs to do the update

any ideas?


<asp:AccessDataSource ID="AccessDataSource1" Runat="server"
DataFile="e:\db\travel\mile.mdb"
SelectCommand="SELECT employee.lastName,
employee.firstName, account_supervisor_int.acctCode_ID_FK,
account_supervisor_int.employee_ID_FK, employee.employeeID,
account.acctCode, account.acctnum FROM employee, account,
account_supervisor_int WHERE
(((account_supervisor_int.acctCode_ID_FK)=[acctCode]) AND
((account_supervisor_int.employee_ID_FK)=[employeeid]))" >
</asp:AccessDataSource>
<asp:GridView ID="GridView1" Runat="server" AllowPaging="True"
AllowSorting="True" DataSourceID="AccessDataSource1"
DataKeyNames="employeeid" AutoGenerateSelectButton="True">
</asp:GridView>
<asp:AccessDataSource ID="AccessDataSource2" Runat="server"
DataFile="e:\db\travel\mile.mdb"
SelectCommand="SELECT employee.lastName,
employee.firstName, account_supervisor_int.acctCode_ID_FK,
account_supervisor_int.employee_ID_FK, employee.employeeID,
account.acctCode, account.acctnum FROM employee, account,
account_supervisor_int WHERE
(((account_supervisor_int.acctCode_ID_FK)=[acctCode]) AND
((account_supervisor_int.employee_ID_FK)=[employeeid]))"
UpdateCommand="UPDATE [account] SET [acctnum] = ? WHERE
[acctCode] = [acctCode_ID_FK]"
InsertCommand="INSERT INTO [employee] ([employeeid])
VALUES (employeeid)" FilterExpression="employeeid='@employeeid'">
<FilterParameters>
<asp:ControlParameter Name="employeeid"
ControlID="GridView1"
PropertyName="SelectedValue"></asp:ControlParameter>
</FilterParameters>
</asp:AccessDataSource>
<asp:DetailsView ID="DetailsView1" Runat="server"
AutoGenerateDeleteButton="False"
AutoGenerateEditButton="True"
DataSourceID="AccessDataSource2" DataKeyNames="acctCode"
AutoGenerateInsertButton="False"
onitemupdated="DetailsView1_ItemUpdated" >
</asp:DetailsView>
 

Ask a Question

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

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,770
Messages
2,569,583
Members
45,075
Latest member
MakersCBDBloodSupport

Latest Threads

Top