Just nu i M3-nätverket
Gå till innehåll

Visa inmatad data


minsting

Rekommendera Poster

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>

Länk till kommentar
Dela på andra webbplatser

  • 3 veckor senare...
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

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.

×
×
  • Skapa nytt...