Wrox Programmer Forums
|
BOOK: Beginning ASP.NET Databases Also see the forum ASP Databases for more general discussions of ASP database issues not directly related to these books.
Welcome to the p2p.wrox.com Forums.

You are currently viewing the BOOK: Beginning ASP.NET Databases section of the Wrox Programmer to Programmer discussions. This is a community of software programmers and website developers including Wrox book authors and readers. New member registration was closed in 2019. New posts were shut off and the site was archived into this static format as of October 1, 2020. If you require technical support for a Wrox book please contact http://hub.wiley.com
 
Old July 23rd, 2003, 05:24 PM
aac aac is offline
Authorized User
 
Join Date: Jun 2003
Posts: 23
Thanks: 0
Thanked 0 Times in 0 Posts
Default Can't Edit Database

I've written a page to edit my database, the page runs and apears to do everything properly but when i go back and check my database nothing has changed. Any ideas on why?
thanks

<%@ Import namespace="System.Data" %>
<%@ Import namespace="System.Data.SqlClient" %>

<html>
<head>
<title>Updating Moniters</title>
</head>
<body>
<form method="post" runat="server">
<asp:DataGrid id="dgMonitors" runat="server" CallPadding="5" AutoGenerateColumns="False" OnEditCommand="EditRecord" OnCancelCommand="CancelEdit" OnUpdateCommand="UpdateRecord" >
<Columns>
<asp:BoundColumn DataField="ID" ReadOnly="True" Visible="False" />
<asp:BoundColumn DataField="Manufacturer" HeaderText="Manufacturer" />
<asp:BoundColumn DataField="ModelNumber" HeaderText="ModelNumber" />
<asp:BoundColumn DataField="SerialNumber" HeaderText="SerialNumber" />
<asp:BoundColumn DataField="SerialNumber" HeaderText="Other" />
<asp:EditCommandColumn ButtonType="LinkButton" UpdateText="Save" CancelText="Cancel" EditText="Edit" />
</Columns>
</asp:DataGrid>
</form>
</body>
</html>

<script language="c#" runat="server">
private String strConnection = ConfigurationSettings.AppSettings["AAC"];
private String strSQLSelect = "SELECT ID, Manufacturer, ModelNumber, SerialNumber, Other FROM Monitors";
private String MonitorTableName = "MonitorTable";
private SqlConnection objConnection;

private void Page_Load(object Sender, System.EventArgs e)
{
LoadGrid();
}
private void LoadGrid()
{
Connect();
SqlDataAdapter adapter = new SqlDataAdapter(strSQLSelect, objConnection);
DataSet ds = new DataSet();
adapter.Fill(ds, MonitorTableName);
Disconnect();
dgMonitors.DataSource = ds.Tables[MonitorTableName];
dgMonitors.DataBind();
}
private void Connect()
{
if (objConnection == null)
objConnection = new SqlConnection(strConnection);
if (objConnection.State == ConnectionState.Closed)
objConnection.Open();
}
private void Disconnect()
{
objConnection.Close();
}
public void EditRecord(object sender, DataGridCommandEventArgs e)
{
dgMonitors.EditItemIndex = e.Item.ItemIndex;
LoadGrid();
}
public void CancelEdit(object sender, DataGridCommandEventArgs e)
{
dgMonitors.EditItemIndex = -1;
LoadGrid();
}
public void UpdateRecord(object sender, DataGridCommandEventArgs e)
{
int ID = Convert.ToInt32(e.Item.Cells[0].Text);
TextBox ManufacturerTextBox = (TextBox)e.Item.Cells[1].Controls[0];
string Manufacturer = Convert.ToString(ManufacturerTextBox.Text);
TextBox ModelNumberTextBox = (TextBox)e.Item.Cells[2].Controls[0];
string ModelNumber = Convert.ToString(ModelNumberTextBox.Text);
TextBox SerialNumberTextBox = (TextBox)e.Item.Cells[3].Controls[0];
string SerialNumber = Convert.ToString(SerialNumberTextBox.Text);
TextBox OtherTextBox = (TextBox)e.Item.Cells[4].Controls[0];
string Other = Convert.ToString(OtherTextBox.Text);
dgMonitors.EditItemIndex = -1;
UpdateMonitor(ID, Manufacturer, ModelNumber, SerialNumber, Other);
DataSet ds = new DataSet();
dgMonitors.DataSource = ds.Tables[MonitorTableName];
dgMonitors.DataBind();
}
private void UpdateMonitor(int ID, string Manufacturer, string ModelNumber, string SerialNumber, string Other)
{
Connect();
SqlDataAdapter adapter = new SqlDataAdapter(strSQLSelect, objConnection);
DataSet ds = new DataSet();
adapter.Fill(ds, MonitorTableName);
Disconnect();
DataTable tb1 = ds.Tables[MonitorTableName];
tb1.PrimaryKey = new DataColumn[] {tb1.Columns["ID"]};
DataRow row = tb1.Rows.Find(ID);
row["Manufacturer"] = Manufacturer;
row["ModelNumber"] = ModelNumber;
row["SerialNumber"] = SerialNumber;
row["Other"] = Other;
SqlCommandBuilder cb = new SqlCommandBuilder(adapter);
Connect();
adapter.Update(ds, MonitorTableName);
Disconnect();
LoadGrid();
}
</script>


 
Old July 24th, 2003, 12:40 AM
Friend of Wrox
 
Join Date: Jun 2003
Posts: 996
Thanks: 2
Thanked 11 Times in 11 Posts
Send a message via Yahoo to melvik
Default

dear friend:
since u r using DataAdapter there is no need to apoen & close ur connections u just set them & DataAdapter will manage them all as well, & ur problem is there. I changed ur code to follow code

<%@ Import namespace="System.Data" %>
<%@ Import namespace="System.Data.SqlClient" %>

<script language="c#" runat="server">
private String strConnection = "server=(local);Trusted_Connection=yes;database=no rthwind";
private String strSQLSelect = "SELECT * FROM Region";
private String MonitorTableName = "Region";

private void Page_Load(object Sender, System.EventArgs e)
{
SqlConnection objConnection = new SqlConnection("server=(local);Trusted_Connection=y es;database=northwind");

DataSet ds = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter(strSQLSelect, objConnection);
adapter.Fill(ds, "Region");
dgMonitors.DataSource = ds.Tables[MonitorTableName];
dgMonitors.DataBind();
}

</script>

<html>
<body>
<form method="post" runat="server">
<asp:DataGrid id="dgMonitors" runat="server">
</asp:DataGrid>
</form>
</body>
</html>

HTH.

Always:),
Hovik Melkomian.
 
Old July 24th, 2003, 10:24 AM
aac aac is offline
Authorized User
 
Join Date: Jun 2003
Posts: 23
Thanks: 0
Thanked 0 Times in 0 Posts
Default

i made the changes you suggested but my database still doesn't get changed, do you have any other ideas,
Thanks






Similar Threads
Thread Thread Starter Forum Replies Last Post
how to EDIT,delete,add,items in my database zedekiah BOOK: Beginning ASP 3.0 2 May 15th, 2008 08:16 AM
How to edit in dbgrid? d_saikrishnan Pro VB 6 0 May 12th, 2006 10:51 AM
how will i edit data through database in aspnet Rajiv ASP.NET 1.0 and 1.1 Basics 1 October 21st, 2005 01:57 PM
Edit form mrideout BOOK: Beginning ASP.NET 1.0 0 August 25th, 2004 04:32 PM





Powered by vBulletin®
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Copyright (c) 2020 John Wiley & Sons, Inc.