webForumDet fria alternativet

Mysql data till variabel

12 svar · 287 visningar · startad av tosses

tossesMedlem sedan aug. 2003190 inlägg
#1

Hej!

Jag behöver hjälp med att hämta data från en MySQL-databas och lagra resultatet i en variabel.

ex:
string conn = "Database=steget;Data Source=localhost;User Id=steget;Password=hmm";
string sql = "Select * from enkatsteg2";
MySqlConnection c = new MySqlConnection(conn);
c.Open();

MySqlCommand cmd = new MySqlCommand(sql);
cmd.Connection = c;
cmd.ExecuteNonQuery();

DataSet ds = new DataSet();
//a.Fill(ds);
//cmd.

TextBox1.Text = ds.Tables["enkatsteg2"].Rows[0][0].ToString();
/*foreach ( DataTable table in ds.Tables )
{
foreach ( DataRow row in table.Rows )
{
TextBox1.Text = row["anv"].ToString();
//Response.Write(row["anv"]);
}
}*/

Variabel hejsan = dataFrånDb('fältetFörNamn');

Typ!! :)

ps. jag e nybörjare:) ds.

PaceMedlem sedan juni 20019 024 inlägg
#2

Börja med att läsa QuickStart Tutorials på http://www.asp.net/Tutorials/quickstart.aspx.

Sedan, om du bara ska hämta ett (1) fält från databasen bör du titta på metoden ExecuteScalar() som finns på objektet odbcCommand (eller sqlCommand/oledbCommand beroende på vilken databas du använder).

tossesMedlem sedan aug. 2003190 inlägg
#3

Jag har gjort det!!

Hur får man in datat i en variabel ??

string conn = "Database=steget;Data Source=localhost;User Id=steget;Password=hmm";
string sql = "Select * from enkatsteg2 where id = 2";
MySqlConnection c = new MySqlConnection(conn);
c.Open();

MySqlCommand cmd = new MySqlCommand(sql);
cmd.Connection = c;

Så långt är det bra...

cmd.ExecuteNonQuery(); den här använder jag för insert och update. Hmm funkar den för select ??

DataSet ds = new DataSet();
fyll datasettet ds ----- ?????

foreach ( DataTable table in ds.Tables )
{
foreach ( DataRow row in table.Rows )
{
variabel kalle = row["anv"].ToString();
//Response.Write(row["anv"]);
}
}

Är det någon som är duktig på detta ?

PaceMedlem sedan juni 20019 024 inlägg
#4
string conn = "Database=steget;Data Source=localhost;User Id=steget;Password=hmm";
string sql = "Select * from enkatsteg2 where id = 2";
MySqlConnection c = new MySqlConnection(conn);
c.Open();

MySqlCommand cmd = new MySqlCommand(sql);
cmd.Connection = c;

Så långt är det bra...

Dim Variabel As Object = [red]cmd.ExecuteScalar()[/red]

Som sagt, titta på metoden ExecuteScalar(). Den hämtar endast ett fält från första posten - oavsett hur många som retuneras av sql-frågan. Det är smidigt, för det är ofta man hämtar enstaka värden.

DataSet (och i viss mån DataTable) använder du mest när du behöver binda data till en serverkontroll.

Förresten, vad är MysqlConnection för objekt? Har du laddat ned det någonstans?

tossesMedlem sedan aug. 2003190 inlägg
#5

Va bra!!

Men hur ser:
Dim Variabel As Object = cmd.ExecuteScalar()
ut i c#?
så här eller?:
string kalle = cmd......

Om man nu vill stoppa in ett resultset med flera värden in i en array hur gör man då ??

ps. Tack för svaret ds.

DinoMedlem sedan sep. 20011 914 inlägg
#6
private void GetData()
{
   OdcbConnection conn = new OdcbConnection("Database=steget;Data Source=localhost;User Id=steget;Password=hmm");
   OdcbCommand cmd = new OdcbCommand("Select [ditt_kolumn_namn] from enkatsteg2 where id = ?", conn);
   cmd.Parameters.Add("@ID", 2);

   try
   {
      conn.Open();
      Response.Write((string)cmd.ExecuteScalar());
   }
   catch
   {
      throw;
   }
   finally
   {
      if(conn.State == ConnectionState.Open)
      {
         conn.Close();
      }
   }
}
tossesMedlem sedan aug. 2003190 inlägg
#7

Ok tack!!

:)

PaceMedlem sedan juni 20019 024 inlägg
#8

Haha, måste bara kommentera min brist på uppmärksamhet. Lyckades kombinera vb och c# och tyckte det flöt på jättebra tillsammans. :e

Dock, motsvarigheten är som du skriver: string Variabel = cmd.ExecuteScalar();

tossesMedlem sedan aug. 2003190 inlägg
#9

Ok Tack. En anna fråga

Hur får man bort \ i en string

ex: string kalle = "hejsan \ Olle";

utskrift = hejsan Olle

DinoMedlem sedan sep. 20011 914 inlägg
#10
string kalle = "hejsan \ Olle".Replace(@"\", "");
tossesMedlem sedan aug. 2003190 inlägg
#11

Vad menas med @-tecknet ??

DinoMedlem sedan sep. 20011 914 inlägg
#12

Den säger åt string constructorn att tolka tecken som \ som vilket annat tecken. Utan @ så måste du skriva

string s = "hejsan \\ Olle."
tossesMedlem sedan aug. 2003190 inlägg
#13

Tack så mycket!

131 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)