I'm trying to do an mysql statement to update a field to 'blank', but when I run the program the value that's posted to database is null. When I run the update statement directly in my DBMS, it works fine.
Here is the part of my code with the update statement.
else if (DropDownList1.SelectedItem.Value.Equals(0))
{
string sql = "UPDATE bruker SET stemme = 'blank' WHERE bruker.epost = '" + user + "';";
MySqlCommand cmd = new MySqlCommand(sql, conn);
cmd.Prepare();
cmd.ExecuteNonQuery();
conn.Close();
}
And here is the (almost) rest of the code:
String user = "ekstrabruker@epost.no";
DataSet ds;
int i;
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack == false)
{
DataSet ds = new DataSet();
String connStr = ("Data Source=localhost;Port=3311;Database=valgapp2000;User ID=root;Password=");
MySqlConnection conn = new MySqlConnection(connStr);
conn.Open();
string sql = "SELECT bruker.fnavn, bruker.enavn FROM kandidat, bruker WHERE kandidat.bruker = bruker.epost";
MySqlCommand cmd = new MySqlCommand(sql, conn);
MySqlDataAdapter da = new MySqlDataAdapter(cmd);
da.Fill(ds);
conn.Close();
ds.Tables[0].Columns.Add("kandidatnavn", typeof(string), "fnavn + ' ' + enavn");
DropDownList1.DataTextField = "kandidatnavn";
DropDownList1.DataValueField = "kandidatnavn";
DropDownList1.DataSource = ds;
DropDownList1.DataBind();
if (gittStemme(user) !="")
{
Label6.Text = "Du har gitt din stemme til " + gittStemme(user)+ "<br/><br/>";
Label1.Text = "Velg en annen kandidat dersom du ønsker å endre din stemme";
Label5.Text = "Eller trykk på knappen dersom du ønsker å stemme blankt.";
Button1.Visible = true;
Button1.Text = "Stem blankt";
}else if (gittStemme(user) != "")
{
Label6.Text = "Du har gitt din stemme til " + gittStemme(user) + "<br/><br/>";
Label1.Text = "Velg en annen kandidat dersom du ønsker å endre din stemme";
Label5.Text = "Eller trykk på knappen dersom du ønsker å stemme blankt.";
Button1.Visible = true;
Button1.Text = "Stem blankt";
}
else if(DropDownList1.SelectedIndex == 0)
{
Label6.Text = "Velg en kandidat for å avgi din stemme<br/><br/>";
Label5.Text = "Eller trykk på knappen dersom du ønsker å stemme blankt.";
Button1.Visible = true;
Button1.Text = "Stem blankt";
}
} else
{
if (DropDownList1.SelectedIndex == 0)
{
if (gittStemme(user) != "")
{
Label1.Text = "Velg en annen kandidat dersom du ønsker å endre din stemme";
Label2.Text = "";
Label3.Text = "";
Label4.Text = "";
Label5.Text = "";
Label6.Text = "Du har gitt din stemme til " + gittStemme(user) + "<br/><br/>";
Button1.Visible = false;
} else
{
Label6.Text = "Velg en kandidat for å avgi din stemme<br/><br/>";
Label1.Text = "";
Label2.Text = "";
Label3.Text = "";
Label4.Text = "";
Label5.Text = "Eller trykk på knappen dersom du ønsker å stemme blankt.";
Button1.Visible = true;
Button1.Text = "Stem blankt";
}
}
else
{
DataSet ds = new DataSet();
String connStr = ("Data Source=localhost;Port=3311;Database=valgapp2000;User ID=root;Password=");
MySqlConnection conn = new MySqlConnection(connStr);
conn.Open();
string sql = "SELECT kandidat.*, bruker.fnavn, bruker.enavn FROM kandidat, bruker WHERE(CONCAT(bruker.fnavn, ' ', bruker.enavn)) = '" + DropDownList1.SelectedItem.Value + "' AND kandidat.bruker = bruker.epost;";
MySqlCommand cmd = new MySqlCommand(sql, conn);
MySqlDataAdapter da = new MySqlDataAdapter(cmd);
da.Fill(ds);
conn.Close();
ds.Tables[0].Columns.Add("kandidatnavn", typeof(string), "fnavn + ' ' + enavn");
Label1.Text = "Navn: " + ds.Tables[0].Rows[i]["kandidatnavn"].ToString();
Label2.Text = "Fakultet: " + ds.Tables[0].Rows[i]["fakultet"].ToString();
Label3.Text = "Institutt: " + ds.Tables[0].Rows[i]["institutt"].ToString();
Label4.Text = "Informasjon: " + ds.Tables[0].Rows[i]["informasjon"].ToString();
if (gittStemme(user).Equals(DropDownList1.SelectedItem.Value))
{
gittStemme(user);
Button1.Visible = true;
Button1.Text = "Trekk stemme";
Label5.Text = "Trykk på knappen dersom du ønsker å trekke din stemme";
Label6.Text = "Du har gitt din stemme til denne kandidaten<br/><br/>";
} else if(gittStemme(user) == "") {
gittStemme(user);
Button1.Visible = true;
Button1.Text = "Stem på denne kandidaten";
}
else
{
gittStemme(user);
Button1.Visible = true;
Button1.Text = "Endre stemme";
Label6.Text = "Du har gitt din stemme til " + gittStemme(user) + "<br/><br/>";
Label5.Text = "Trykk på knappen dersom du ønsker å endre din stemme";
}
}
}
}
protected void Button1_Click(object sender, EventArgs e)
{
String connStr = ("Data Source=localhost;Port=3311;Database=valgapp2000;User ID=root;Password=");
MySqlConnection conn = new MySqlConnection(connStr);
conn.Open();
if (gittStemme(user) == "")
{
string sql = "UPDATE kandidat, bruker SET kandidat.stemmer = kandidat.stemmer + 1 WHERE(CONCAT(bruker.fnavn, ' ', bruker.enavn)) = '" + DropDownList1.SelectedItem.Value + "' AND kandidat.bruker = bruker.epost;" +
"UPDATE bruker SET stemme = (SELECT bruker.epost FROM bruker, kandidat WHERE(CONCAT(bruker.fnavn, ' ', bruker.enavn)) = '" + DropDownList1.SelectedItem.Value + "' AND kandidat.bruker = bruker.epost) WHERE bruker.epost = '" + user + "'";
MySqlCommand cmd = new MySqlCommand(sql, conn);
cmd.Prepare();
cmd.ExecuteNonQuery();
Button1.Visible = true;
Button1.Text = "Trekk stemme";
Label5.Text = "Trykk på knappen dersom du ønsker å trekke din stemme";
Label6.Text = "Du har gitt din stemme til denne kandidaten <br/><br/>";
}
else if (gittStemme(user).Equals(DropDownList1.SelectedItem.Value))
{
string sql = "UPDATE kandidat, bruker SET kandidat.stemmer = kandidat.stemmer - 1 WHERE(CONCAT(bruker.fnavn, ' ', bruker.enavn)) = '" + gittStemme(user) + "' AND kandidat.bruker = bruker.epost;" +
"UPDATE bruker SET stemme = '' WHERE bruker.epost = '" + user + "';";
MySqlCommand cmd = new MySqlCommand(sql, conn);
cmd.Prepare();
cmd.ExecuteNonQuery();
conn.Close();
Label5.Text = "Du har trekt din stemme";
Label6.Text = "Ønsker du å stemme på denne kandidaten?<br/><br/>";
Button1.Visible = true;
Button1.Text = "Stem på denne kandidaten";
} else if (DropDownList1.SelectedItem.Value.Equals(0))
{
string sql = "UPDATE bruker SET stemme = 'blank' WHERE bruker.epost = '" + user + "';";
MySqlCommand cmd = new MySqlCommand(sql, conn);
cmd.Prepare();
cmd.ExecuteNonQuery();
conn.Close();
}
else
{
string sql = "UPDATE kandidat, bruker SET kandidat.stemmer = kandidat.stemmer + 1 WHERE(CONCAT(bruker.fnavn, ' ', bruker.enavn)) = '" + DropDownList1.SelectedItem.Value + "' AND kandidat.bruker = bruker.epost;" +
"UPDATE kandidat, bruker SET kandidat.stemmer = kandidat.stemmer - 1 WHERE(CONCAT(bruker.fnavn, ' ', bruker.enavn)) = '" + gittStemme(user) + "' AND kandidat.bruker = bruker.epost;" +
"UPDATE bruker SET stemme = (SELECT bruker.epost FROM bruker, kandidat WHERE(CONCAT(bruker.fnavn, ' ', bruker.enavn)) = '" + DropDownList1.SelectedItem.Value + "' AND kandidat.bruker = bruker.epost) WHERE bruker.epost = '"+user+"';";
MySqlCommand cmd = new MySqlCommand(sql, conn);
cmd.Prepare();
cmd.ExecuteNonQuery();
conn.Close();
Button1.Visible = false;
Label6.Text = "Du har gitt din stemme til denne kandidaten <br/><br/>";
Label5.Text = "Du har endret din stemme";
Button1.Visible = true;
Button1.Text = "Trekk stemme";
}
}
public static string gittStemme(string user)
{
String connStr = ("Data Source=localhost;Port=3311;Database=valgapp2000;User ID=root;Password=");
MySqlConnection conn = new MySqlConnection(connStr);
conn.Open();
string sql = "SELECT (SELECT (CONCAT(fnavn, ' ', enavn)) AS stemmemottaker FROM bruker WHERE epost = (SELECT stemme FROM bruker WHERE epost = '" + user + "')) AS stemme";
MySqlCommand cmd = new MySqlCommand(sql, conn);
MySqlDataReader rdr = cmd.ExecuteReader();
rdr.Read();
if (rdr[0].ToString() == "")
{
return "";
} else {
return rdr[0].ToString();
}
conn.Close();
}
/* public void trekkStemme()
{
String connStr = ("Data Source=localhost;Port=3311;Database=valgapp2000;User ID=root;Password=");
MySqlConnection conn = new MySqlConnection(connStr);
conn.Open();
string sql = "UPDATE kandidat, bruker SET kandidat.stemmer = kandidat.stemmer - 1 WHERE(CONCAT(bruker.fnavn, ' ', bruker.enavn)) = '" + gittStemme(user) + "' AND kandidat.bruker = bruker.epost;";
Label5.Text = "Du har trekt din stemme";
Label6.Text = "Ønsker du å stemme på denne kandidaten?<br/><br/>";
conn.Close();
} */
}
}
Sorry guys, I couldn't get the first part of my code to be formatted properly into codeblocks, so I'll leave it out. (it's just the part that includes using System, etc) Also sorry if I don't ask the question in a good and detailed way. I'm new to this, so I lack the technical terms to explain everything in a good way.