Just nu i M3-nätverket
Jump to content

Visa inmatad data


minsting

Recommended Posts

Hej på er!

Nu är jag i lag med att lära mig asp.net. Har gjort ett snabbt grundutkast. Men någonstans gör jag fel. När jag har skrivit in namn och epost och klickar på knappen så vill jag att det som laddats in i databasen ska visas i en ruta. Det går bra när jag visar all data som finns i databasen men jag få som sagt inte upp det sist inskrivna resultatet, altså bara det, som ett kvitto på att det kommit in. Typ "du skrev namn:.... och epost:...." Inte så bra på att förklara men jag tror att de flesta här är så duktiga att ni förstår :)

<%@ Page Language="C#" AutoEventWireup="true"%>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="MySql.Data.MySqlClient" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
   <title></title>
   <script runat="server">
       void ReadDB(object Source, EventArgs e)
       {

       DataSet ds = new DataSet();
       MySqlConnection conn;
       MySqlCommand cmd;
       MySqlDataAdapter myAdapter;

       conn = new MySql.Data.MySqlClient.MySqlConnection();
       cmd = new MySql.Data.MySqlClient.MySqlCommand();
       myAdapter = new MySql.Data.MySqlClient.MySqlDataAdapter();

       //här finns koppling strängen 
       conn.ConnectionString = "server=*****;uid=******;" +
          "pwd=*****;database=*****;";

       cmd.CommandText = "SELECT * FROM asp";
       cmd.Connection = conn;

       myAdapter.SelectCommand = cmd;

       myAdapter.Fill(ds,"asp");

       DataTable dt = ds.Tables[0];

       //Kod för att loopa igenom raderna och visa upp infot
       foreach (DataRow dr in dt.Rows)
       {
           ListBox1.Items.Add("ID: " + dr["id"].ToString() + ": Namn: " + dr["name"].ToString() + " Email " + dr["email"].ToString());
       }
       // stänga kopplingen
       conn.Close();

       }
       void InsertDB(object Source, EventArgs e){

           ListBox1.Items.Clear();
           DataSet ds = new DataSet();
           MySqlConnection conn;
           MySqlDataAdapter myAdapter;

           conn = new MySql.Data.MySqlClient.MySqlConnection();
           myAdapter = new MySql.Data.MySqlClient.MySqlDataAdapter();
           MySqlCommandBuilder cb = new MySqlCommandBuilder(myAdapter);

           conn.ConnectionString = "server=*****;uid=*******;" +
          "pwd=*******;database=******;";

           MySqlCommand cmd = new MySqlCommand("INSERT INTO asp (name, email) VALUES ('" +
           txtNamn.Text + "', '" + txtEmail.Text + "')",conn);
           cmd.CommandType = CommandType.Text;
           conn.Open();
           cmd.ExecuteNonQuery();
           myAdapter.SelectCommand = cmd;

                          //Här ska något in som jag inte får att funka. 

           conn.Close(); 
       }


</script>
</head>
<body>
   <form id="form1" runat="server">
   <div>
   <asp:Button id="btnRead" runat="server" Text="Visa DB data" OnClick="ReadDB" /></div>
   <div>
       <asp:ListBox ID="ListBox1" width="50%" runat="server" AutoPostBack="true"></asp:ListBox>
   </div>
   <div>
   <asp:Label id="lblNamn" runat="server" Text="Namn "></asp:Label>
   <asp:TextBox id="txtNamn" runat="server"></asp:TextBox> <br />
   <asp:Label id="lblEmail" runat="server" Text="Email: "></asp:Label>
   <asp:TextBox id="txtEmail" runat="server"></asp:TextBox> <br />
     <asp:Button id="btnChange" runat="server" Text="Lägg in i db" OnClick="InsertDB" />
   </div>

   </form>
</body>
</html>

Link to comment
Share on other sites

  • 3 weeks later...
Martin.Bergius

Hej,

Kör metoden readDb() efter du har gjort din insert så får du ett nytt resultat med den senaste inlagda med.

 

EJ lämpligt att lägga det i InsertDB klassen utan gör en ny metod för btnChange där du kör först metoden insertDB() o sen readDb()

 

Som tips så kanske du skall kolla lite på datasource & databind med. Är smidigt när man håller på med ADO.Net i ASP.NET

 

Mvh Martin

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...