---
title: "formulär-sql problem"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/96050-formulär-sql-problem"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "dea"
published: "2004-01-29T12:15:09.000Z"
updated: "2004-01-29T13:55:10.000Z"
replies: 8
views: 314
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/96050-formulär-sql-problem"
---

# formulär-sql problem

## #1 — dea, 2004-01-29T12:15Z

Asp.net - C#

om man hämtar upp data från databas till TextBoxar i ett formulär med hjälp av:

```
string SQL3 = "SELECT * FROM Users WHERE UserID = "+ (Session["UserID"]);
	SqlCommand com = new SqlCommand(SQL3, con);
	con.Open();
	SqlDataReader dr3 = com.ExecuteReader();
			
	if ( dr3.Read() )
	{
		TextboxFnamn.Text += (dr3["Fnamn"]).ToString();
		TextboxEnamn.Text += (dr3["Enamn"]).ToString();
		TextboxEpost.Text += (dr3["Epost"]).ToString();
		TextboxHomepage.Text += (dr3["Homepage"]).ToString();
		TextboxCity.Text += (dr3["City"]).ToString();
		TextboxAge.Text += (dr3["Age"]).ToString();
		TextboxAboutme.Text += (dr3["Aboutme"]).ToString();
		dr3.Close();
		con.Close();
		Label1.Text = "<h1>Uppdatera din profil!</h1>";
	}
```

Om man nu vill ändra i formuläret och vill skriva något annat, vad skriver man då i knappen?

om vi skriver så här så skriver den in det nya man skrivit men det tar inte bort det gamla!?
är det inte det UPDATE gör - byter ut?

```
	string sql = "UPDATE Users SET Fnamn = '" +Fnamn.Text +"' WHERE UserID = "+ (Session["UserID"]);
```

Permalänk: https://www.webforum.nu/p/96050

## #2 — NETwork, 2004-01-29T12:30Z

Byt ut **\+=** mot bara ett **\=** annars lägger den till värdet på det värde som redan finns.

```
TextboxCity.Text = (dr3["City"]).ToString();
```

Förstod jag dig rätt?

Permalänk: https://www.webforum.nu/p/1262630

## #3 — dea, 2004-01-29T12:48Z

NETwork skrev:

> Byt ut += mot bara ett = annars lägger den till värdet på det värde som redan finns.
> 
> Förstod jag dig rätt?

  

Nej, eller så förstår inte jag dig rätt!?'
vilket += menar du? tar jag bort dem från if-satsen så blir det inte dubbelt i textboxen, men det är inte problemet, problemet är hur jag skriver min SQL-sats för att uppdatera i databasen när jag trycker på formulärknappen..

Permalänk: https://www.webforum.nu/p/1262654

## #4 — NETwork, 2004-01-29T12:56Z

Aha. Sql-satsen ser riktig ut, hur ser koden ut där du uppdaterar din tabell?

Permalänk: https://www.webforum.nu/p/1262664

## #5 — dea, 2004-01-29T13:01Z

> Aha. Sql-satsen ser riktig ut, hur ser koden ut där du uppdaterar din tabell?

hmm, tabell?

så här ser knappen ut:

```
private void Button1_Click(object sender, System.EventArgs e)
		{
			string sql = "UPDATE Users SET Fnamn = '" +Fnamn.Text+ "' WHERE UserID = "+ (Session["UserID"]);

			SqlCommand com2 = new SqlCommand(sql, con);
			try
			{
				con.Open();
				com2.ExecuteNonQuery();
			}
			catch(SqlException error)
			{
				Label12.Text = error.Message;
			}
			finally
			{
				con.Close();
			}
		}
```

Permalänk: https://www.webforum.nu/p/1262670

## #6 — NETwork, 2004-01-29T13:20Z

Prova: 

```
com2.Connection.Open();
com2.ExecuteNonQuery();
com2.Connection.Close();
```

Permalänk: https://www.webforum.nu/p/1262680

## #7 — dea, 2004-01-29T13:31Z

tyvärr ändrade inte det något..

om namnet i textboxen är Kalle och jag markerar det och skriver Nisse och trycker på skicka-knappen så skrivs Kalle ut i Textboxen!

Argh

Permalänk: https://www.webforum.nu/p/1262687

## #8 — dea, 2004-01-29T13:52Z

Så här löste vi det..

private void Page_Load(object sender, System.EventArgs e)
		{
			if (!IsPostBack)
			{
				visaPost();
			}
	
		}

		private void visaPost()
		{
			visa.Text = "Du är inloggad som \<strong\>" + Convert.ToString(Session\["AnvNamn"\]) + "\</strong\>";
			
			string SQL3 = "SELECT \* FROM Users WHERE UserID = "+ (Session\["UserID"\]);
			SqlCommand com = new SqlCommand(SQL3, con);
			con.Open();
			SqlDataReader dr3 = com.ExecuteReader();
			
			if ( dr3.Read() )
			{
				Fnamn.Text = (dr3\["Fnamn"\]).ToString();
				Enamn.Text = (dr3\["Enamn"\]).ToString();
				Epost.Text = (dr3\["Epost"\]).ToString();
				Homepage.Text = (dr3\["Homepage"\]).ToString();
				City.Text = (dr3\["City"\]).ToString();
				Age.Text = (dr3\["Age"\]).ToString();
				Aboutme.Text = (dr3\["Aboutme"\]).ToString();
				dr3.Close();
				con.Close();
				Label1.Text = "\<h1\>Uppdatera din profil!\</h1\>";
			}	
			else
			{
				Label1.Text = "\<h1\>Fyll i din profil!\</h1\>";
			}
		}

		private void Button1_Click(object sender, System.EventArgs e)
		{
			string sql = "UPDATE Users SET Fnamn = '" +Fnamn.Text+ "' WHERE UserID = "+ Session\["UserID"\];
			//"+ Session\["UserID"\]
			//Response.Write(sql);
			//'"+ AnvNamn.Text + "'AND Password ='" + pw.Text + "'";
			SqlCommand com2 = new SqlCommand(sql, con);
			try
			{
				com2.Connection.Open();
				com2.ExecuteNonQuery();
			}
			catch(SqlException error)
			{
				Label12.Text = error.Message;
			}
			finally
			{
				com2.Connection.Close();
			}
		}

Innan när vi tryckte på knappen så genomfördes bara Page_Load men inte uppdateringen.

Permalänk: https://www.webforum.nu/p/1262698

## #9 — m_soderlund, 2004-01-29T13:55Z

Aha. Jag skulle precis skriva kod som jag *vet* fungerar, och så kom lösningen på problemet ändå. Nåväl. :r

Permalänk: https://www.webforum.nu/p/1262703

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/96050-formulär-sql-problem
