16-04-2008, 10:39
|
|
|
חבר מתאריך: 30.12.05
הודעות: 26
|
|
הבעיה היא שכאשר הערך של שדה מסויים במסד הנתונים (SQL SERVER) הוא ריק מלכתחילה, אז אין בעיה לעדכן את אותו השדה, רק כאשר הוא מלא, אז לא משנה מה אני ארשום בשדות אותם אני רוצה לעדכן, מה שנשלח לפונקציה שמטפלת בעדכון הטבלה זה הערך הישן שהיה בשדות
הנה הקוד שמטפל בהצגת הקוד בתוך השדות:
קוד:
SqlCommand cmd = newSqlCommand("SELECT * FROM admins WHERE id = '" + UserDetails[UserId] + "'", MyConnection);
SqlDataReader reader = cmd.ExecuteReader();
reader.Read();
string Fname = reader["fname"].ToString();
string Lname = reader["lname"].ToString();
string Email = reader["email"].ToString();
string Icq = reader["icq"].ToString();
string Messenger = reader["messenger"].ToString();
fname.Text = Fname;
lname.Text = Lname;
email.Text = Email;
icq.Text = Icq;
messenger.Text = Messenger;
והנה הקוד שמטפל בעדכון של הפרטים:
קוד:
string UpdateQry = "UPDATE admins SET ";
UpdateQry += "fname=@fname, ";
UpdateQry += "lname=@lname, ";
if (password.Text != "")
{
UpdateQry += "password=@password, ";
}
UpdateQry += "email=@email, ";
UpdateQry += "messenger=@messenger, ";
UpdateQry += "icq=@icq ";
UpdateQry += "WHERE id=@id";
SqlCommand cmd = newSqlCommand(UpdateQry, mycon);
cmd.Parameters.AddWithValue("@fname", fname.Text);
cmd.Parameters.AddWithValue("@lname", lname.Text);
if (password.Text != "")
{
cmd.Parameters.AddWithValue("@password", password.Text);
}
cmd.Parameters.AddWithValue("@email", email.Text);
cmd.Parameters.AddWithValue("@messenger", messenger.Text);
cmd.Parameters.AddWithValue("@icq", icq.Text);
cmd.Parameters.AddWithValue("@id", UserDetails[UserId]);
int added = cmd.ExecuteNonQuery();
|