Author Topic: Hjälp med kod!  (Read 277 times)

Offline vedeldaren

  • Donor
  • Lost soul
  • *****
  • Posts: 26
  • Karma: +0/-0
  • MSure version: 0.9.0.0
Hjälp med kod!
« on: March 13, 2010, 09:59:12 »
Hej!

Tjejen pluggar till Webbdesigner och har kört fast på en uppgift i C#, tänkte att den kunskapen nog finns på detta forum.

Uppgiften gäller att skapa ett röstningsformulär där man fyller i namn, E-post och röstar på två olika frågor.

De funkar så långt att det går bra att rösta men sedan vill hon att det skall komma upp en textbox som säger ungefär:

Tack för din röst "namn"du har röstat på "xxxxx" och "yyyyy" samt nuvarande ställning i röstningen.

Code: [Select]
<%@ Page Language="C#" AutoEventWireup="true"%>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="MySql.Data.MySqlClient" %>
<!--Ovanpå importeras de nödvändiga klassbibliotek för att koppla sig till en MySql databas-->
<!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>Exempel 16</title>
    <script runat="server">
       
        void InsertDB(object Source, EventArgs e){
           
           
            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=*************************;" +
           "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;

            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());
            }
           
           
            conn.Close();
        }

       
</script>
</head>
<body>
    <form id="form1" runat="server">
   
    <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>&nbsp;<br />
    <asp:Label id="lblEmail" runat="server" Text="Email: "></asp:Label>
    <asp:TextBox id="txtEmail" runat="server"></asp:TextBox>&nbsp;<br />
      <asp:Button id="btnChange" runat="server" Text="Lägg in i db" OnClick="InsertDB" />
    </div>
   
    </form>
</body>
</html>


Offline Per

  • Administrator
  • MSure hero
  • *****
  • Posts: 2640
  • Karma: +15/-0
  • Author of MSure
    • My Blog
  • MSure version: Development version
Re: Hjälp med kod!
« Reply #1 on: March 13, 2010, 13:39:22 »
Visa meddelandet i responsmetoden för formuläret.
Manual | Happy with MSure? | Please respect the license | Current TODO
IRC: #MSure on DalNet
No questions via unsolicited mail or PMs, please!

Offline vedeldaren

  • Donor
  • Lost soul
  • *****
  • Posts: 26
  • Karma: +0/-0
  • MSure version: 0.9.0.0
Re: Hjälp med kod!
« Reply #2 on: March 13, 2010, 14:12:10 »
Man får följande felmeddelande

Code: [Select]
Server Error in '/WPB301/webbVT10051' Application.
--------------------------------------------------------------------------------

Cannot find table 0.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.IndexOutOfRangeException: Cannot find table 0.

Source Error:


Line 35:         myAdapter.Fill(ds,"asp");
Line 36:         
Line 37:         DataTable dt = ds.Tables[0];
Line 38:             
Line 39:         //Kod för att loopa igenom raderna och visa upp infot
 

Source File: c:\Inetpub\wwwroot\WPB301\webbVT10051\Default2.aspx    Line: 37

Stack Trace:


[IndexOutOfRangeException: Cannot find table 0.]
   System.Data.DataTableCollection.get_Item(Int32 index) +92
   ASP.default2_aspx.InsertDB(Object Source, EventArgs e) in c:\Inetpub\wwwroot\WPB301\webbVT10051\Default2.aspx:37
   System.Web.UI.WebControls.Button.OnClick(EventArgs e) +111
   System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +110
   System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +36
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565

 


--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:2.0.50727.3603; ASP.NET Version:2.0.50727.3082

Offline Per

  • Administrator
  • MSure hero
  • *****
  • Posts: 2640
  • Karma: +15/-0
  • Author of MSure
    • My Blog
  • MSure version: Development version
Re: Hjälp med kod!
« Reply #3 on: March 13, 2010, 15:35:23 »
Ja? Felet står förklarat i klartext med radnummer och allt.
Manual | Happy with MSure? | Please respect the license | Current TODO
IRC: #MSure on DalNet
No questions via unsolicited mail or PMs, please!