Toon posts:

[C#] ASP.NET wil niet updaten van record

Pagina: 1
Acties:
  • 26 views sinds 30-01-2008

Verwijderd

Topicstarter
try
{
if (Request.QueryString["SID"] != "")
{
ProposalTableAdapter Pad = new ProposalTableAdapter();
//int SID = Convert.ToInt16(Request.QueryString["SID"]);

/*
ProposalST.ProposalDataTable Pdata = Pad.GetProposalsBySID(SID);
foreach (ProposalST.ProposalRow pRow in Pdata) {
pRow.Message = FreeTextBox1.Text;

}
Pad.Update(Pdata);
*/

ProposalDAO pDao = new ProposalDAO();
pDao.UpdateProposal(Convert.ToInt16(Request.QueryString["SID"]),FreeTextBox1.Text);
WebMsgBox.Show("Proposal has been updated successfully");
Response.Redirect("~/EditProposal.aspx?SID=" + Convert.ToInt16(Request.QueryString["SID"]));
}
else
{
WebMsgBox.Show("You are not authorized to be here");
//FormsAuthentication.RedirectToLoginPage();
Response.Redirect("~/Login.aspx");

}
}
catch (Exception ex)
{

WebMsgBox.Show(ex.Message);
ErrorTableAdapter Err = new ErrorTableAdapter();
Err.Insert(ex.Message);
}
}
en dit in de data accessor:
public void UpdateProposal(Int16 SID, string Proposal)
{

string sql = "UPDATE Proposal SET Message = @Message WHERE SID = @SID";
DbParameter[] parameters = new DbParameter[]
{
Database.CreateParameter("@SID", SID),
Database.CreateParameter("@Message", Proposal),


};
DbCommand cmd = Database.CreateSqlCommand(sql, parameters);
Database.ExecuteNonQuery(cmd);
}
waarschijnlijk iets doms vergeten, maar wat :?
ik gebruik normaal gezien de typed datasets, zodat alles in een object zit, maar daar lukt het ook niet, de rest vd sql werkt wel (select,delete, insert)
thanks
c# + sqlserver 2005

  • whoami
  • Registratie: December 2000
  • Laatst online: 18:04
Sorry hoor, maar zo werkt het hier niet.
Het is niet de bedoeling om hier maar lappen code te posten met een vage omschrijving van het probleem, en dan te verwachten dat iemand het fixed voor jou.
check de quickstart eens:
klik

Tipje: als je gebruik maakt van de OleDb classes, dan moet je je parameters in dezelfde volgorde aan je Parameter collection toevoegen als de volgorde waarin ze verschijnen in je SQL Statement.
OleDb houdt nl. geen rekening met de namen van je parameters, maar met de volgorde.
zie ook:
klik

dus : eerst de message parameter creeëren, en dan de id, echter aangezien je gebruik maakt van sql server ga ik er van uit dat je de SqlClient classes gebruikt.
Start de profiler eens op, en kijk eens wat er naar de DB gestuurd wordt.

[ Voor 74% gewijzigd door whoami op 16-11-2006 14:21 ]

https://fgheysels.github.io/


Dit topic is gesloten.