J'ai un formulaire qui sélectionne un groupe de lignes d'une table dans mon serveur MSSQL, maintenant, ce formulaire est utilisé pour mettre à jour les données, ce qu'il fait correctement, après avoir mis à jour les données en utilisant le forme cependant, il redirige vers une page avec une grille de données de toutes les lignes dans cette table, et me permet de sélectionner une autre ligne à mettre à jour, si je sélectionne la ligne que je viens de mettre à jour, je suis accueilli avec 'slehan_ticketadmin'. "La connexion a échoué pour l'utilisateur 'username'
Maintenant, je sais que le nom d'utilisateur/mot de passe sont corrects, parce que j'ai utilisé le formulaire il y a une minute afin de mettre à jour les données. Je ne peux pas voir les journaux d'erreurs SQL parce que mon hôte me limite, mais voici mon code derrière pour le formulaire de mise à jour.
namespace YakStudios_Support.ys_admin
{
public partial class UpdateTicket : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
int ticketID = Convert.ToInt32(Request.QueryString["ticketID"]); // Grabs the ?ticketid number from the URL
Ticket ticketBeingUpdated = TicketDatabase.selectTicketFromDatabase(sqlErrorLabel, ticketID); // Creates a new Ticket object to be used by the form to populate the text boxes
/* Form Field Population */
// Email
emailTxt.Text = ticketBeingUpdated.getEmail();
// Date Submitted
dateSubText.Text = ticketBeingUpdated.getDateSubmitted().ToString();
// Ticket Class
classDropDown.SelectedValue = ticketBeingUpdated.getTicketClass();
// Ticket Status
statusDrop.SelectedValue = ticketBeingUpdated.getStatus();
// Subject
subjectTxt.Text = ticketBeingUpdated.getSubject();
// Text
textTxt.Text = ticketBeingUpdated.getTicketContent();
}
}
protected void editBtn_Click(object sender, EventArgs e)
{
emailTxt.Enabled = true;
dateSubText.Enabled = true;
classDropDown.Enabled = true;
statusDrop.Enabled = true;
subjectTxt.Enabled = true;
textTxt.Enabled = true;
}
protected void submitBtn_Click(object sender, EventArgs e)
{
int ticketID = Convert.ToInt32(Request.QueryString["ticketID"]); // Grabs the ?ticketid number from the URL
DateTime convertedDate = Convert.ToDateTime(dateSubText.Text);
Ticket ticketUpdated = new Ticket(emailTxt.Text, convertedDate, subjectTxt.Text, textTxt.Text, statusDrop.SelectedValue, classDropDown.SelectedValue);
TicketDatabase.updateTicketInDatabase(ticketUpdated, sqlErrorLabel, ticketID);
Response.Redirect("ticketqueue.aspx");
}
}
}
La classe de billets que vous voyez, est juste une classe qui contient les données pour les billets qui sont mis à jour/sélectionnés/supprimés du serveur SQL, il est juste un moyen facile pour moi de modifier/données de maintien dans un manière structurée. Je veux attirer votre attention sur la ligne:
Ticket ticketBeingUpdated = TicketDatabase.selectTicketFromDatabase(sqlErrorLabel, ticketID);
J'ai une autre classe appelée TicketDatabase qui a un tas de méthodes qui insèrent/select/mise à jour/supprimer des billets à partir de la base de données. Voici le stub de la méthode selectTicketFromDatabase().
public static Ticket selectTicketFromDatabase(Label sqlErrorLabel, int ticketID)
{
SqlCommand sqlCmd = new SqlCommand("SELECT * from yak_tickets");
using (SqlConnection selSqlConn = new SqlConnection(sqlConn.ConnectionString))
//using (sqlConn)
{
sqlCmd.Connection = selSqlConn;
selSqlConn.Open(); // Open the SQL connection
//sqlCmd.Connection = sqlConn;
//sqlConn.Open(); // Open the SQL Connection
SqlDataReader reader = sqlCmd.ExecuteReader();
Ticket ticketReturning = null; // Initializes the ticketReturning but it's not allocated
// Call during reading
while (reader.Read())
{
/* Objects to hold values from reader */
string emailString = reader["email"].ToString();
DateTime dateSubbed = Convert.ToDateTime(reader["dateSubmitted"].ToString());
string subjectString = reader["subject"].ToString();
string textString = reader["ticketText"].ToString();
string statusString = reader["statusid"].ToString();
string classString = reader["ticketClass"].ToString();
ticketReturning = new Ticket(emailString, dateSubbed, subjectString, textString, statusString, classString);
}
selSqlConn.Close();
return ticketReturning;
}
}
Je vais tester cela sur un serveur localhost pour voir si elle est le serveur ou mon code provoquant l'erreur, mais je suis toujours ouvert aux suggestions/soutien à cette question.
Merci d'avance!
Question kooky aléatoire - est-ce dans Chrome ou un navigateur? J'ai remarqué que Chrome a des comportements étranges dans certaines circonstances concernant les informations d'identification ... – Will
Je l'ai essayé dans Internet Explorer et Safari, même résultat sur les deux. – skylerl