Opdater databaserække
Hej,I min datagrid, der viser posterne fra en Access database har jeg en ButtonColumn, der linker til en sider hvor der vises data fra denne række gennem flere labels.
Her har jeg også yderligere felter i form af tekstboks og tjekboks som skal udfyldes og sende til databasen. Netop denne funktion virker ikke, og derfor har jeg brug for hjælp. Jeg bruger asp.net 1.1 og VS 2003.
Min aspx.cs ser sådan ud:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Data.OleDb;
namespace EIS
{
/// <summary>
public class Detaljer : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Label lblID;
protected System.Web.UI.WebControls.Label lblNavn;
protected System.Web.UI.WebControls.HyperLink hyperFile1;
protected System.Web.UI.WebControls.HyperLink hyperFile2;
protected System.Web.UI.WebControls.CheckBox fAfsluttet;
protected System.Web.UI.WebControls.TextBox fAndet;
protected System.Web.UI.WebControls.TextBox fProces;
protected System.Web.UI.WebControls.TextBox fResultat;
protected System.Web.UI.WebControls.Button fbOpdater;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
InsertFilValues();
}
}
private void InsertFilValues()
{
using (OleDbConnection connection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + MapPath("fpdb/EIS.mdb")))
using (OleDbCommand command = new OleDbCommand("SELECT ID,Navn,File1,File2 FROM eis WHERE ID = @ID", connection))
{
command.Parameters.Add("@ID", typeof(int));
command.Parameters["@ID"].Value = int.Parse(Request.QueryString["ID"]);
command.Connection.Open();
using (OleDbDataReader reader = command.ExecuteReader())
{
if (reader.Read())
{
lblID.Text = reader.GetInt32(reader.GetOrdinal("ID")).ToString();
lblNavn.Text = reader["Navn"].ToString();
if (!(reader["File1"].ToString() == ""))
{
hyperFile1.Text = ("<a href=\"/" + reader["File1"].ToString() + "\" target=_blank>vis billed 1</a>");
}
else
{
hyperFile1.Text = "";
}
if (!(reader["File2"].ToString() == ""))
{
hyperFile2.Text = ("<a href=\"/" + reader["File2"].ToString() + "\" target=_blank>vis billed 2</a>");
}
else
{
hyperFile2.Text = "";
}
connection.Close();
}
}
}
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
private void InitializeComponent()
{
this.fbOpdater.Click += new System.EventHandler(this.fbOpdater_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void fbOpdater_Click(object sender, System.EventArgs e)
{
string connStr = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + MapPath("fpdb/EIS.mdb");
OleDbConnection myConnection = new OleDbConnection(connStr);
string strSQL = "SELECT Afsluttet,Proces,Andet,Resultat FROM eis WHERE ID = @ID";
OleDbCommand cmdInsert = new OleDbCommand( strSQL, myConnection );
cmdInsert.Parameters.Add("@ID", typeof(int));
cmdInsert.Parameters["@ID"].Value = int.Parse(Request.QueryString["ID"]);
cmdInsert.Connection.Open();
cmdInsert.Parameters.Add( "@Afsluttet", OleDbType.Boolean).Value = fAfsluttet.Checked;
cmdInsert.Parameters.Add( "@Proces", fProces.Text );
cmdInsert.Parameters.Add( "@Andet", fAndet.Text );
cmdInsert.Parameters.Add( "@Resultat", fResultat.Text );
myConnection.Open(); cmdInsert.ExecuteNonQuery();
myConnection.Close();
fbOpdater.Visible = false;
}
}
}
